Production database administrators have to know at least a little about a lot of things:
- How to install or upgrade SQL Servers
- How to build clusters
- How to plan for disaster recovery and high availability
- How to do performance tuning
- How to secure and protect databases
The production role revolves around management, not creation. Sure, they do need to know T-SQL and be able to debug problem code, but the majority of their day is making the trains run on time – not designing the seats inside the train cars.
Windows administrators who are forced into the SQL Server DBA role need this same type of information. They get handed a database server to manage, often with a database from a third party vendor like Citrix or Blackberry. They have to manage the server, make sure it performs as needed, and back it up safely – but they’ll never touch a line of T-SQL code that runs on the server.
Ross Mistry and Hilary Cotter’s book Microsoft SQL Server 2008 Management and Administration is a great companion for production DBAs and accidental DBAs. It covers this wide variety of topics in a good depth, and leaves topics like beginning T-SQL or how to write stored procedures out to other books.
No-Nonsense, Need-To-Know Approach
I liked this book right from the first chapter because I understand the target audience well. At Southern Wine, I worked in a Windows infrastructure team that also had several Windows administrators and an Exchange admin. These other administrators often had to install SQL Servers for various third party products, and they would ask questions like:
- What’s the right version of SQL Server for my needs?
- How should I configure memory settings?
- How do I cluster SQL Server?
This book gives just enough explanation for the reader to make a decision – without droning on about minutiae. For example, during setup, when the user has to choose where to place the SQL Server data and log files, the book notes:
“Because I/O to log files is sequential and I/O to database files is random, for increased performance, it is a best practice to place log files on a separate disk from database files.”
When a production DBA or a Windows administrator reads that sentence, it will click immediately, and they’ll understand what’s going on. Throughout the book, I kept finding myself nodding and saying, “Yep, I learned that the hard way,” or “Ah, I always wondered about that.”
Just Enough Programming Where It Matters
The book doesn’t focus on T-SQL programming, but where programming is necessary to get the job done, it demonstrates concepts and code clearly. For example, in the “Securing the Data Storage” chapter, there’s an excellent example of how to compromise salary data by copying encrypted data. The DBA doesn’t have to be skilled with T-SQL to understand the ramifications, but knowing these concepts helps them have a better discussion around security issues.
Chapters You Might Not Expect: SSIS, PowerShell, Hyper-V Virtualization
In another sign that this book is targeted at production DBAs, not T-SQL developer DBAs, this book includes a chapter on SQL Server Integration Services package development. SSIS comes in handy for production DBAs because they have to move data from one server to the next, and because maintenance plans are designed in SSIS. As someone who learned DTS the hard way – by force – I like having an SSIS chapter that’s available when I have a need to shuffle data around.
The PowerShell chapter starts with the raw basics and doesn’t assume the DBA knows anything about PowerShell. A production DBA or Windows admin can pick up this book and get what they need to know in order to start using PowerShell for server management. I appreciate this because most of the DBAs I talk to aren’t focusing on learning PowerShell yet, but having this chapter included will give them a foot up – and might just get them to try it out. (Heck, I’m thinking about trying it out just because it’s in the book, and that says a lot – I’m Mr. Anti-PowerShell.)
Another pleasant surprise was the chapter on virtualization with Microsoft Hyper-V. When I write on SQL Server topics these days, I try to stop and think, “If this server is virtual, what changes? What factors do I need to think about and what advice do I need to change?” This chapter focuses on the basic implementation of Hyper-V as it relates to servers in general, but not necessarily specific to Microsoft SQL Servers. The snapshot backup section talks about how to take snapshot backups, but not how it relates to a SQL Server disaster recovery strategy. If you plan to implement SQL Server in production on Hyper-V, this chapter will get you started, but I would advise learning it in more detail before proceeding. I only mention this because the rest of the book is so thorough: I wouldn’t hesitate to tell a Windows admin, “Pick up this book and you’ll have all you need to know in order to build production servers.” I would not be as comfortable giving them that advice about the Hyper-V chapter. The chapter’s still a nice bonus though, especially given how new Hyper-V is in the market.
In Summary: Great Book for Production DBAs and Accidental DBAs
I’m really glad Todd Robinson (DevSQL on Twitter) sent me a copy of this book to review, because my local bookstore has an astoundingly bad selection of SQL Server 2008 books. I highly recommend this book for production SQL Server database administrators and “accidental” DBAs, Windows admins who’ve been tasked with managing SQL Server. This book gives you the information you need without burdening you with unneccessary details, and it’s laced with practical tips and real-world good ideas.
You can buy Microsoft SQL Server 2008 Management and Administration from Amazon for around $30, and a Kindle version is available for around $20.