Let’s start with the obvious: yes, there’s a man on the cover smoking something. It’s probably not a coincidence that when I started writing this review, the iTunes Genius started playing Poison’s “Nothin’ But A Good Time.” There’s a reason they call it the Genius, and yes, I do have Poison in my MP3 collection, and yes, I paid for it. (It was in my CD collection back when I listened to physical media, and it was in my tape collection before CDs came out.)
It’s Online, But It’s Not Books Online
Rod Colledge covers a wide range of material here, but the surprising part is that it doesn’t read like a copy/paste of Books Online. Seems like the thicker a book is, the more it feels like a copy of BOL, and I can certainly understand why – it’s tough to produce a big volume of material with a personality of its own. Big books require multiple authors, and then sometimes editors set about stripping the personality out to make it blend together. Nothing against Books Online – I rely on it all the time for help with syntax and minute details. Thing is, I don’t want to read a book cover to cover when it’s full of syntax and minute details. Right now, Manning is offering an Early Access Edition via PDF, and I hope the casual language survives the editing process.
If anything, this book is probably a little light on syntax and implementation details – for example, Instant File Initialization is covered, but not in enough detail to explain step by step exactly how to configure it in Windows. I don’t have a problem with this approach: I like reading books to understand concepts, and I rarely sit with the book propped open next to me and type the code in off the printed page. I’m fine with doing a quick web search to get the exact content I need from sites like BOL.
Target Audience: Production Database Administrators and Performance Tuners
I recently write a book review of SQL Server 2008 Management in Action by Ross Mistry and Hilary Cotter, and I called it a great book for production DBAs and accidental DBAs. I would categorize this book differently: it’s more focused at production DBAs who want to dive deeper into SQL Server. Accidental DBAs will find this book too detailed and deep for their needs.
For example, in Chapter 14, Monitoring and Automation, Rod talks about deadlocks, including how to create them, how to monitor for them, and how to create a a SQL Server Profiler trace to catch blocked processes. He also shows how to use the RML utilities to clean up your Profiler traces and get better insight out of them. These types of topics are probably outside of what an accidental DBA would want to accomplish, but it’s exactly the kind of thing that a full-time production DBA has to get involved with sooner or later.
Both of these books, however, take the same approach of focusing on administration, not development. If you want to learn how to write T-SQL, how to use functions, or how to design a schema, this is not the book for you – look for a SQL Server development book instead. If you spend your day managing more than 25 instances of SQL Server, this is a good book for you.
Areas for Improvement
I’d quibble about the book’s organization. For example, Chapter 2 is titled Storage System Sizing, but it encompasses a lot of aspects of storage from RAID levels, direct attached storage, SANs, solid state drives, etc. Chapter 3 is called Physical Server Design, but it continues with storage topics like disk configurations and RAID array stripe sizes. My advice: ignore the table of contents, and just dig through the entire book. It’s worth it.
Appendix A lists the Top 25 DBA Worst Practices, including things like “Using RAID 5 volumes for write intensive applications.” They’re great advice, but I might include a pointer to the section of the book that explains why it’s a worst practice. It’d help the DBA drill down to learn more, and there’s certainly enough information in the book to back up what Rod suggests. It’s not an issue of just tossing out suggestions without backing them up – if you read this book cover to cover, you’ll understand the reasoning behind each suggestion.
Overall: Good Resource for Curious Production DBAs
I’d describe the perfect buyer as someone who’s been working with SQL Server for a year or two, and who’s facing a lot of challenges on the job around configurations they haven’t seen before. They might be tasked with building their first disaster recovery plan, not sure whether to choose log shipping or database mirroring, and they want to know what types of production issues they’ll face with each of those options. They can read this book’s High Availability section and feel like they’re having a conversation with a friend who’s been there and done that.
I’d also recommend this book to someone preparing to get their MCITP certifications in SQL Server. If you devour the material in this book, then you’re going to have the kind of skills and knowledge that it takes to get certified. If you find this book too intimidating or too technically detailed, then you’re probably not going to like the certification process either – and the cost of this book beats the cost of most full-blown MCITP training materials.