One of my goals for the year that I failed miserably on was to try to do a couple of blog posts.
This is the first and since we’re in August you get the idea… I will be taking the 88-971 SQL Server MCM Lab Exam. I have 30 days to prep. So if you are reading this, here’s how I ended up with SQL Server as my date on many a weekend and evening.
I’ve been working with SQL Server since 2001. I was the Windows admin at a State agency, and they bought an application that ran on SQL 2000. So since it would run on my Windows 2000 server, I was the new DBA. I was minimally involved the first year or so. I maintained backups and did some data exports, all the application updates, service packs, restores, etc.
A couple of years later the local hospital wanted a SQL DBA that also knew Windows Clustering. I won the job because in addition to knowing a few things about installing, administering, backing up and restoring SQL, I could also build and maintain windows clusters and was a strong Windows admin. I inherited a “massive” to me at that point database that was 175GB! It ran a 3rd party EMR software. I took this job and learned quite a bit about SQL code and internals the next 5 years.
I went to SQL Pass in Seattle in 2008, the whole conference experience was quite exciting. I went to Itzik Ben-Gan’s pre-session on T-SQL and I did see Jimmy May’s session on partition alignment. I won an autographed Kalen Delaney SQL 2005 Query Tuning Book at that session by answering some of the questions Jimmy asked at the end. I went back and planned out our new SQL 2005 cluster after attending this conference. Our vendor didn’t support the newly minted SQL 2008 engine yet. But this information and where to go to get more information was good and helped out the design process.
A SAN migration from an overloaded IBM DS4500 – EMC Clariion CX3-40 arrays (for this app alone) and SQL 2005 x64 solved lots of IO and throughput issues. My avg disk queue length pre-migration was 9999.99 all day on several data file drives w/ 8-10 second latency (not ms – second). After the migration it was 20-150ms most times. We had issues with the 3rd party EMR upgrades on many occasions. One particular upgrade left several large heap tables with forwarded records. The vendor did not agree that a clustered index on this table would solve the IO issues we were seeing. So after losing the fight to do the right thing we rolled it back to the old version and the “fixed” upgrade script builds a clustered index… I lost 38 hours straight to that fun.
So I decided I wanted to get out of managing someone else’s software I had no control over, and get into a role where I could do something about bad things that happen in database land. I got a new job at a company that does IT services for other companies. I now have application developers that I help to tune queries and optimize application performance. I now have a different set of problems but feel I can offer up solutions to problems and have the power to change the application for the better 🙂
I’m two years into the new gig and using way more SQL features and code than I have before, but still not all of them. We don’t use any replication features and are just barely mirroring anything. We use more SAN side replication to our array at the DR site than SQL replication/mirroring today. But I’m building a new plan and testing out my options currently. We have a couple of SQL clusters where we’ve consolidated some instances to beefier machines.
I passed the 88-970 knowledge exam in December last year. I’ve been to IE1 & IE2 from the sqlskills.com training. I’ve been trying to study the components we don’t use and keep myself from cowering thinking about taking the lab… I will know in 30 days.
And if you were wondering, this evening I ran through the Peer-Peer Replication Lab on the Hands On Labs DVD (Feb 2011) virtual machine that I’m running. I’ll post which of these I review this month and which are my favorite ones.