Monthly Archives: February 2010

Web Site Spring Cleaning

Every now and then, I get frustrated with the way my web site looks.  I toss a stick of dynamite at it and start fresh.

This weekend I splurged on the Headway WordPress theme, a premium theme that has a slick GUI editor.  I can make different pages look wildly different without too much effort.

Before

Before

After

After

Here’s some of the changes so far:

Reorganized links across the top – I used to organize pages by popularity, but screw that.  I’m going for more logical organization now, so I’ve got links for About Me, Books, Consulting, SQL Server Articles, SQL Server Training Videos, Twitter, and Upcoming Events.  The Consulting and Videos sections are new, and I’ll be fleshing those out more over the coming weeks.  Yes, I still work for Quest full time, but I do consulting in my spare time.

Featured Video on the home page – I’m uploading more stuff onto YouTube now that they support high definition video.

Rotating “Featured Posts” and “Woohoo!” sections – as you watch the page, some parts of it rotate every few seconds.  I used to have logos for the Microsoft MVP program, Tom LaRock’s blog rankings, my book, etc, and now those all just rotate.  It’s slow enough that it’s not too obnoxious.

Magazine-style home page and SQL Articles page – I’ve got a lot of buried treasure in the site: articles people find via Google, but they don’t find when navigating through BrentOzar.com’s menus.  I’m starting to expose more of the popular articles through these browsable pages.  I’ll add thumbnail images for them, but probably not until the next version of Headway.  Headway 1.6 doesn’t pay attention to WordPress 2.9′s awesome new thumbnail functionality.

I’m still working on it, but I had to stop pouring effort into it and get back to my MCM studying.  The jury’s still out on Headway.  The visual designer loads and refreshes very slowly, it’s got a steep learning curve, and some things don’t seem to work the way I would expect.  It doesn’t play nice in any way, shape, or form with the DB Cache Reloaded plugin – Headway’s Visual Editor tool barfs all over itself when the cache is on.  I have to keep remembering to disable the cache when I’m editing the site, or else things keep exploding.

If you take the Headway plunge, back up your database first.  Headway says it uses the search engine meta tag information from the All-in-One SEO plugin, but that was not the case for me.  I appear to have lost all my SEO work on posts.  Not a big deal – I’ve got daily database backups – but I’m guessing not everyone is so fortunate.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Upcoming SQL Server Presentations

Free training, come get your free training right here…

Friday 2/26 – SQL Server Performance Tuning for Race Car Drivers
Nashville, TN and LiveMeeting

Times are tough even for the best drivers: Helio Castroneves is dancing for money and Danica Patrick is doing ads for what appears to be an adult services company.  Maybe it’s time to switch careers, and Brent has just the thing.  Use your hard-earned knowledge of high speeds, million-dollar hardware and surviving disastrous crashes to become a SQL Server performance tuner!

In this session, Brent will show you:

  • Why Colin Chapman would check for indexes before adding new ones
  • The importance of well-tested safety gear to performance tuning
  • Why not monitoring your servers is like overdriving your headlights
  • Just like races are lost in the pits, uptime records are lost during maintenance windows

Click here to launch the LiveMeeting at noon Central.  Audio will come through your computer speakers.

March 3rd: All-Day Free Virtual Event
Performance Tuning & Troubleshooting with DMVs

We’re doing an all-day live virtual conference on how to use dynamic management views (DMVs) to do SQL Server performance tuning and troubleshooting. The whole thing will be broadcast live in 720p, and we’ll be taking questions via chat and Twitter. We’re going to have sessions at the beginner, intermediate, and advanced levels taught by:

  • Kevin Kline (BlogTwitter) – Microsoft MVP since 2004, author of SQL in a Nutshell, founding board member of the Professional Association for SQL Server, and all around good guy.
  • Ari Weil (BlogTwitter) – Product Manager for Quest’s performance products, and knows way more about waits, performance tuning, and SQL Server architecture than anybody should.
  • Brent Ozar (BlogTwitter) – your humble author. Okay, well, author anyway.

Register now and just for registering, you’ll be entered into a contest for free goodies!

April 17 – SQLSaturday Chicago

SQLSaturday is a free day-long event with all kinds of community speakers. I’m excited to say I’ve applied to be one of the speakers! Kevin Kline and I will be doing the keynote, and I’m doing two other sessions:

BLITZ! 60 Minute Server Takeovers

You’re minding your own business in your corner office – well, no, you’re a DBA, so it’s just your cubicle – when somebody says, “Did you know about this SQL Server over here?” Suddenly, you have to find out what the server’s doing, how it was set up, and whether things are working correctly.

In this all-demo session, Brent will take over a SQL Server and show you:

  • How to quickly assess a server’s health using a set of scripts
  • How to catch dangerous development issues that will haunt you later
  • How to quickly put some basic measures into place to minimize your risk

Perfmon and Profiler 101

These two tools are the key to successful performance tuning. I’ll show you how to get started with these tools, how to slice and dice the results, and even how to data mine the results to look for interesting trends. Whether you like to monitor performance with native tools or third party utilities, knowing how the native tools work will help you get better results out of your tools.

Attendees will learn:

  • Why Perfmon is like a Nissan GT-R’s dashboard
  • What Perfmon counters to measure, and what they mean
  • Four common performance symptoms and how to cure the problems

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Made2Mentor’s MacGyver Moment Meme

David Stein (Blog@Made2Mentor) started a neat new meme: My McGuyver Moment. He talked about a time where he cobbled together a workable solution out of a coat hanger, two tube socks, and a Mentos. He tagged me, and so now you get to hear about one of my stunts.

The Problem: The Hell Desk

Not so sure I actually want to know.

Not so sure I actually want to know.

Several years ago, I worked for a small software company. Software companies have help desks – support teams who take incoming calls, create incidents, and manage the ticket lifecycle. They report on statistics like how fast tickets get closed, how many tickets are coming in, and which users are calling the most. I was a developer, and I had to interact with the help desk system because tickets would get escalated to us when they looked like a product bug.  I spent at least an hour a day working with tickets, sometimes 4-5 hours a day.

I hated the holy hell out of our help desk software, and I’m going to name names only because it’s changed hands & versions since: McAfee Magic Help Desk. The user interface was atrocious; some fields could be looked up with a double-click, some with a space bar, and some just couldn’t be looked up. To get to my own list of tickets, I had to jump through hoops sideways. Heaven help me if I wanted to build a report to slice and dice my tickets. Plus, the whole thing was a thick, slow Windows application that sucked up memory.

I was a really crappy developer, but I was certain that even a newbie such as I could build a better, easier, and faster help desk system in my spare time. I couldn’t take the Field of Dreams approach (build a new one and they will come) because the rest of the company was heavily tied to this help desk software. I decided I’d reverse engineer the database schema, trace its queries with Profiler to figure out what it was doing when it updated tickets, and then build a simpler user interface. Everything would have dropdowns and lookups to make my job as easy as possible.

At the time, I knew three development tools: Microsoft Access, Macromedia Ultradev (producing Classic ASP), and Topspeed Clarion. All three of those could work with the help desk’s SQL Server database, but I chose to build it in Ultradev for selfish personal reasons. I knew that building a web-based version of it would push my skills farther than they’d been pushed, and that it would give me new skills that would be more valuable down the road.

Going Behind Enemy Lines with Profiler

I remember feeling like I was breaking the rules. I wasn’t supposed to be back there, inside the database, tracing every query that the app ran. I was in enemy territory, behind the lines. If I was caught, I was screwed, because I could hose the database by writing records incorrectly. I poked around in the help desk console, adding tickets and editing them, watching every query to see how it worked.

When I was confident that I understood what the app was doing, I started with a simple classic ASP (VBscript) page to list my tickets. When I clicked on a ticket, I had everything I needed on one page to update the status and pass the ticket on to someone else in a matter of seconds. I used it for a couple of weeks – okay, no, knowing me, it was probably only a few hours – and then showed it to the other staff. I ambitiously named it The Buzz, because I wanted some positive buzz around it. I wanted to think that years later, when you wanted to see what was happening in the company, you’d fire up The Buzz.

Bonus points for connecting the head light power with paper clips.

Bonus points for connecting the head light power with paper clips.

The Buzz didn’t catch on right away in the company. Not everybody was as freaky about user interfaces as I was, and they probably didn’t trust my code too much. (Rightfully so!) Over the coming months, I kept adding in more functionality in my spare time.

One day, our company expanded by one too many employees. Our help desk software licensing was per-seat, and we faced a huge expenditure to buy another block of seats. The maintenance bill was also coming due, and if I remember right, the whole bill would have set us back by maybe twenty grand. My boss decided that the company would switch over to my web-based version instead. I remember being terrified about the licensing implications. Were we allowed to keep using their database? Were lawyers going to come knocking on our door demanding that my VBscript code be burned? Of course, none of these things happened, and my little web-based help desk soldiered on.

Soldiering On Over Time

Over the years, I added more and more functionality into the app, and The Buzz became the company intranet. Whenever somebody in the company needed a new piece of functionality that would benefit from the content of this database, like the tables with clients, contacts, software, or more, we just built it into The Buzz.

Several times during my career at that company, I continued to reverse-engineer existing systems and assimilate them into The Buzz. For example, we had a clumsy supplies-reordering system for our clients – out it went, replaced with a public-facing web site in VBscript ASP integrated with The Buzz’s database. Clients could log in, see their own contact information, see their product list, and click which supplies they wanted to order. Orders were created as help desk tickets and went straight into production. Next up came a workflow system, sending those completed orders on to accounting. I shaved tons of labor off our old fax-based paper-trail system, enabling us to react faster and keep everything in one central place.

I beat on this drum a lot here at the blog, but there’s a few lessons I want you to take away from this.

Scope creep can be a great thing. I aggressively looked for things I could add to my product. I wanted to find things I could automate fairly easily in my spare time, but only things that users would thank me for when it was done. I wanted to build a reputation in the company as the guy who makes jobs easier. It’s a lot easier being an evangelist when your product does things people want. Next thing you know, your manager sees you as self-managing, and gives you more work time to do things you enjoy.

Build things to pass them on to others. Build your code in a way that you can hand off maintenance work or feature development to more people quickly. If you’re the only person who can work on your stuff, you’re screwed – you’re facing a lifetime of maintenance work, keeping the trains on time, and somebody else will get to work on the new hotness. Document your code as you go along. If you think there’s even the slightest chance that someone else might want to interface with your code, build logic into reusable modules like stored procedures. For example, I wrote a stored proc to add a help desk ticket, and it handled the inserts across several related tables. When another dev group wanted their software to automatically create tickets whenever processes failed, all I had to do was point them at my stored proc.

Doing what you love isn’t work. Because I picked the platform, the product, and the people, it didn’t feel like work at all to me. I couldn’t wait for my real work to be over and my pet project time to start. You won’t get an opportunity like this during your “day job” at first because you have to do what the company says. In your off time, you can do whatever you want. Yes, this means after-hours work for you, but it can help you learn and grow.  I still remember learning how to embed audio in ticket notes (which were HTML) when we did an April Fool’s prank – whenever you opened one of my help desk tickets, the A-Team theme would start playing.  That was the opposite of hard work.

Be ready to answer the question, “What could you do with another person?” If your Skunk Works approach pays off, sooner or later your boss will start hearing all the requests from end users who want more stuff from your time. There will come a point where the boss asks, “I’ve got a lot of people asking for a lot of things. If I gave you a junior coder, what would you have them start on?” To this day, I’m militant about keeping a backlog of tasks so that I can easily justify another head count. This is why the next point is so important.

Starting cheap doesn’t mean sacrificing scalability. Choose a tool that makes it as easy as possible to get multiple people coding with you. I bashed Microsoft Access last week because it doesn’t scale, and that’s true for more than just the Jet storage engine. Two, three, or four people can’t easily edit the same Access file at the same time, each contributing improvements to different parts of the application. Working in a tool like Visual Studio (or at the time, Macromedia Ultradev) enables collaboration.

Who I’m Tagging

I think this meme lends itself more to developers than DBAs, so I’m going to tag a few people who’ve made part of their living building stuff:

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Microsoft #MVP10 Summit Recap

Every year, Microsoft hosts an MVP Summit event at Microsoft headquarters in Redmond, Washington. MVPs pay their own airfare to get to the event, but once you’re there, Microsoft picks up the tab for food & hotels. MVPs have to share a room, and I think that’s fine because it emphasizes the community portion of the event. By the time you’re an MVP, you should know at least one person well enough to share a hotel room with ‘em.

Last week, I attended my first MVP Summit and loved it. You know those people in your office who always know about the coolest web sites, phone apps, and software programs before everybody else? The ones who know a million shortcut ways to do things faster and easier? Over a thousand of those people were in Redmond last week, walking around from one meeting room to another, sharing their knowledge and excitement.

And you know those people who have the highest standards for software and infrastructure? The ones who always seem to say, “That’s not good enough – go back and build it again, but this time here’s how to do it better.” Those people were in Redmond too, and perhaps not surprisingly, they gave Microsoft a lot of that kind of feedback. “Product X isn’t good enough,” they’d say, “and you need to build it again, only this time add more cowbell.” If you were going to send community representatives to Microsoft to speak on your behalf, MVPs are a great group of people to send.

And you know those people who have really strong opinions about technology?  They were hanging out in Redmond hallways having wild discussions, challenging each other in new ways.  Sean McCown and I had a loud, passionate debate about database mirroring, log shipping, and replication.  Think about that for a second – when was the last time you had a passionate debate about high availability?  And no, arguing about whether or not Access is highly available does not count.

What Happens at the MVP Summit

The MVP Summit puts MVPs in touch with the product groups.  We get to ask questions about upcoming technology, and Microsoft gets to ask us if they’re doing it right.  It’s really good for relationship-building on both sides.  In some sessions, the development groups asked – and took – a lot of feedback about how specific features could work better.  I had to pinch myself and say, “Am I really getting a voice in what’s coming in SQL Server?  Am I really going to see the product change in the next release?”  Sure, there’s Microsoft Connect, but I never really felt like Connect requests got taken seriously.  And heck, for all I know, the feedback in these sessions may not be taken seriously either.

Attendees got a lot of future-direction information that helps them focus on where their career should go next.  After a couple of sessions, I found myself saying, “Knowing ____, now I won’t invest any of my time learning ____, and I’ll focus on learning ____ instead.”  Now I understand how people can bring out books and training so fast.  It’s not enough to play with the CTP releases the day they come out – you need even more heads-up advance warning than that to produce quality content, and the MVP Summit can provide that.

The most useful thing about the Summit for me wasn’t the sessions, though.  My favorite moments were talking with Buck Woody in the hallway, having breakfast with my MVP lead Ryan Bolz, and getting face-to-face time with my SQL peeps that I don’t get to see often enough.  Next year, I’ll do two things different; I’ll attend more non-SQL sessions like SharePoint and Visual Studio, and I’ll create my own side sessions before and after the MVP events.  I’m thinking about organizing a SQL breakfast on the first morning because so many East Coast folks were sitting around bored at 6am.

It wasn’t all unicorns and candy, though.

The M Doesn’t Stand for Mature

Before I was an MVP, I got so pissed off about MVPs who would tweet things like, “I’m seeing cool stuff, but I can’t tell you because it’s NDA.” Now that I’m on the other side, I have even less tolerance for that. Sure, MVPs see cool things, but they’re not going to be in production for months or even years, so why breed resentment with the public?  Stunningly, some absolute boneheads go so far as to violate their NDA by tweeting the confidential news:

The First Rule of MVP Club

The First Rule of MVP Club

It gets even worse.  We had at least one incident where an MVP (not a SQL Server one, either) got carried away at a party and screwed around with someone else’s Twitter account.  Stunts like this hurt everyone’s reputation.  You might think that MVPs are the cream of the professional crop, and that these kinds of things wouldn’t happen in such a group of consummate professionals.  You’d be wrong.

If you want to get the MVP award, you don’t need maturity and good interpersonal skills.  But if you want to stay one….

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

SQLSaturday Chicago Swag

Just got some more giveaways for SQLSaturday Chicago courtesy of our publisher, Wiley:

Thanks so much to Wiley for supporting the community!

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

How to Make SQL Server Backups and Restores Faster

Every day, your servers do hundreds or thousands of operations that are all resource-intensive.  You want these operations to finish as quickly as possible, because they’re absolutely mission critical, and you’ll lose your job if they’re not done successfully.  Whole companies have been lost when these operations fail.  Yet do you really know how to make these operations happen faster?

These operations are backups and restores.

And no, most of us don’t know why they take so long.

In this five-minute video, I explain the only two surefire ways to improve your backup and restore performance: instant file initialization and cleaning your MSDB history.

To learn more, here’s related links for each of those techniques:

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

SQL Server Magazine’s Publisher Files Bankruptcy

Penton Media publishes several IT-related magazines including SQL Server Magazine and Windows IT Pro, and is involved with the DevConnections conference.  They announced that they’re filing Chapter 11 bankruptcy, which means they pay back a portion of their debt and the rest is erased.  BtoB Media reports that Penton’s revenue fell about 26% last year.

A few of us were talking about this at the MVP Summit today in Redmond, and we reminisced about the times when we got all of our industry knowledge through magazines.  I remember learning about industry news like new SQL versions through SQL Server Magazine and devouring it from cover to cover each time it arrived in my cubicle.  These days, I usually get the breaking news through blogs, but I think I’m in the minority.  Most SQL Server professionals don’t read blogs.

I think there’s still a place for real journalism. I subscribe to the Wall Street Journal because I get a lot of well-researched, well-written content out of it each morning.  I subscribe to car magazines Automobile and Car & Driver because they have really entertaining columnists with decades of industry experience.  A well-done magazine or newspaper offers something I’m willing to pay for.  On the other hand, the Chicago Tribune is having a tougher time winning me over; I hit their free online edition daily, but it’s a rare day that I click through to an underlying story.

Penton Media expects to exit bankruptcy in 30 days, and I hope they emerge with the strength to produce consistently great content makes SQL Server professionals get out their wallets.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

How to REALLY Compress Your SQL Server Backups

StackOverflow’s database servers are hosted in a colo facility. They pay by the byte for transfer in and out of their servers, so it’s really crucial to compress the database backups as much as possible. The smaller the backups, the less they pay. They’re already using backup compression, but they wanted to explore more ways to cut their backup sizes.

There’s two things DBAs can do to deflate their database backups, but both of these have serious implications. The only way this compression process will work is if you’ve got a second database server that can:

  1. Restore the production backups
  2. Do some work on them to decrease their size
  3. Back up the smaller databases

Notice I didn’t use the word “shrink” – nowhere in today’s discussion am I going to shrink the databases. Shrinking databases is evil. Instead, we’re going to do some things to lose the fat and keep the muscle.

Do not try what you’re about to read on your own production server. The only reason we can do these at StackOverflow is because we’ve got a second database server available. These techniques should never be used if you’ve only got one database server, because dropping your indexes and changing to 100% fill factor will both give you horrendous performance.

Consider taking this approach with a dedicated fire drill server. In a perfect world, you’ve got a server lying around that you’re using for fire drills: periodic restores of your databases. The whole reason we do backups is so that we can do restores, and you should be testing your backups as often as possible. In this scenario, we’re actually testing every single one of our backups.

Now, on to the shrin…I mean, compressing!

Drop All Non-Clustered Indexes

There’s two kinds of indexes – clustered, and non-clustered. Clustered indexes aren’t really indexes at all; they define how the table itself is laid out on disk. Dropping a clustered index doesn’t save space. Non-clustered indexes, on the other hand, take up space because they’re additional copies of parts of the table. Non-clustered indexes can help performance, but they can be rebuilt from scratch as long as you save the index definition first.

Which of these takes less space to back up:

  • The string “CREATE INDEX IX_EmployeeName ON dbo.Employees (LastName, FirstName)”, or
  • An index with thousands or millions of rows in it

The answer is the string. To minimize what we’re backing up, we need to:

  1. Script out all of the non-clustered indexes in the database
  2. Save those definitions to a table (or a stored procedure)
  3. Create a stored proc that will loop through those index definitions and recreate them later
  4. Drop the indexes

If our database’s content is, say, 30% indexes, we just dropped the size of our backup by 30%. The downside is that after the database is restored somewhere else, it’ll take longer for the database to be fully available, because we have to run the stored proc to recreate all our indexes. If we’re running SQL Server Enterprise Edition, our database will be online while the indexes are recreated.

Here’s a couple of scripts to generate T-SQL scripts for all of the indexes in a database:

To make these work, you’ll want to adapt them so that they insert the scripts into a table for later execution, and then drop the indexes. I know, I know, you’re going to want the script I’m using at StackOverflow, but I’m not quite comfortable publicizing that code just yet. It’s still a little duct-tape-y. I’ll revisit that in the future though.

This index removal task is extremely fast, only a matter of seconds, because SQL Server is just dumping metadata. The next step, however, is much more intensive.

Rebuild Tables with 100% Fill Factor

SQL Server stores data in pages, and you can think of these much like the pages in the phone book. If we tried to fill the pages completely full, then whenever we needed to add a single record, we’d have all kinds of shuffling to do. When we know we’re going to be adding a lot of data, we’re better off leaving some working area on each page so that we can add records without doing a lot of shuffling every time. The default amount of space we use on each page is known as the Fill Factor.

Normally, StackOverflow’s tables wouldn’t have a 100% fill factor because insert performance would be horrible. However, in our backup scenario, we want to cram all of the pages completely full. The solution is to rebuild all of the clustered indexes with a 100% fill factor. The lower your default fill factor, the more space you’ll save by rebuilding to 100% fill factor. This step takes a lot of IO crunching, and again, it only makes sense when you’ve got a second database server available to do all this work.

Our Results: 50-55% Smaller Backups

Cutting backup size in half means:

  • Half the bandwidth expense
  • Half the time to move backups across the wire for disaster recovery
  • Half the long-term storage requirements

Your results will vary depending on your fill factor and your amount of indexes.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Querying the StackOverflow Data Dump

StackOverflow, ServerFault, and SuperUser are Q&A sites for IT professionals.  I’ve blogged about why I like ServerFault before, but perhaps one of the coolest reasons for database people is that they make their data public.  Every month, StackOverflow dumps out their data to XML.  You can import the data dump into SQL Server, and the whole thing is less than 10gb as of this writing.

But you haven’t done that because you’re lazy.

You just want to open up SQL Server Management Studio 2008 or Toad for SQL Server and connect to the database.  Alright, you got it:

  • SQL Server: brentozar.dyndns.org (as of this writing, it’s 71.57.120.247 – if the name doesn’t work for you, try the IP)
  • Username: StackOverflow_Reader
  • Password: c0mm0ns
  • Databases you can access: ServerFault, StackOverflow, StackOverflowMeta, SuperUser

The data is not a “live” copy – it’s just the monthly Creative Commons data dump, and the schema is the raw output from Sam Saffron’s data dump tool linked above.  The server is a desktop-class machine, nothing fancy, and it’s using my home internet connection.   (Yes, that’s why I’m posting this halfway through the day on Friday – easing into the load.)  You can get a snapshot of my current desk gear and my servers at Flickr.

If you can’t connect to the SQL Server, there’s probably a firewall blocking port 1433 between your workstation and my lab.  Please don’t leave a note to complain – try accessing it from another location, like from your house instead of your work.

To learn more about the schema and how to query it, check out these articles at SQLServerPedia:

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

MCM Prep Week: How Would You Change the MCM?

By now I’ve told you pretty much everything I know about the Microsoft Certified Master program, and I’m curious to hear your feedback.  How would you change the SQL MCM program?

What would make you get your bacon wallet out?

What would make you get your bacon wallet out?

Most of the complaints I’ve heard have boiled down to:

  • Cost – $20k for 3 weeks of training is a lot
  • Time – three weeks in a row
  • Location – it’s only available in Redmond right now, which makes it too expensive for people outside the US

So I ask you – how would you change it in a way that would make you get out your credit card right now and sign up?  Don’t just say, “I’d make it cheaper” or “I’d make it shorter” or “I’d like to see Paul Randal in my cubicle.”  Tell me exactly what the MCM program would look like for you, like this:

If the MCM program was 1 week per month for 3 months straight, and it cost $8,000, I’d sign up right now.

Careful – this is a trick question.  I’ve asked it to a few people, and they’ve backtracked to the point where they’ve realized the MCM just isn’t designed for them.  For example, if your boss isn’t willing to spend $3,000-$4,000 to send you to the PASS Summit for a week, then there’s pretty much no pricetag and time combination that will make the MCM work for you.

If you set the barriers too low, like if it costs $150 and people can study at home, then you just described the MCITP program.  If the MCM program in any way resembled the MCITP program, it would lose all credibility.  (Did I just say that out loud?  Yep, I did.)

If you decide the MCM program isn’t for you, tell me what certification Microsoft could offer that you would sign up for.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts