Category Archives: SQL Server Book Reviews

SQL Server Book Reviews

SQL Server Interview Questions and Answers – Book Review

I read a lot of technical books – stuff on SQL Server, VMware, storage – and they all start to blend together.  Within the first few pages of reading SQL Server Interview Questions and Answers by Pinal Dave and Vinod Kumar, though, it jumped out and grabbed me because it’s really different.

Just kidding. When I'm talking to a recruiter, I read The Art of War

This is gonna be the year I get a better job, I swear. I'm outta this hole.

When buying this book, you need to appreciate it for what it is: a series of questions and answers.  No more, no less.

There’s almost no code, no syntax – and believe it or not, that’s refreshing.  It’s just plain English dialog.  That’s not to say the book is shallow, either, because it touches on topics that all of us could stand a refresher on.  This book works really well for its purpose in much the same way that Applied Architecture Patterns works; it doesn’t teach you as much as it just exposes you to subjects.  From there, it’s up to you to follow the trail if you’re interested in the topic, and that’s where Pinal and Vinod break new ground.

Check out this quote from page 50:

“What is a filtered index?  A filtered index is used to index a portion of the rows in a table.  This means it applies a filter on an INDEX which improves query performance, reduces index maintenance costs, and reduces index storage costs when compared with full-table indices.  When we see an index created with a WHERE clause, then that is actually a Filtered Index.  (Read more here http://bit.ly/sqlinterview27)”

The “read more here” part is actually in the book, and it links to one of Pinal’s intro posts about filtered indexes.  Just like all of Pinal’s posts, it includes clear, easy-to-follow script examples and screenshots.  Having said that, if you don’t like Pinal’s blog, you’re probably not going to like the book either.  The book has less technical details than the blog, and there are grammatical/editing issues.  That kind of thing doesn’t bother me as much with this book because of its intended market – it’s just a series of questions and answers.

Will The Answers Help or Hurt the Interview Process?

In my DBA interview questions and SQL developer interview questions blog posts, I went out of my way not to include the answers.  I wanted to give managers some starting points for questions that they could use to filter out candidates, but I didn’t want to give unqualified candidates a leg up in the interview process.  Those blog posts are consistently popular in Google searches, but based on the search terms being used, I know the candidates are looking for ways to cheat the interview process.  Therefore, my first concern going into this book was, “Are unqualified candidates going to sneak into jobs by reading this book?”

I don’t think that’s going to be a problem because the book is more of a refresher than a cheat sheet.  As I read the questions, I found myself nodding and saying, “Yep, that’s a great way to answer that question, but if somebody doesn’t understand the underlying concepts, they’re still going to fail the interview as soon as somebody drills down.”  An interviewer can see past the fakers just by asking, “And how have you used that concept in your work?”  The book also doesn’t stand alone as a complete interview process: managers still need to ask candidates to whiteboard concepts or reverse engineer a stored procedure to see what it’s doing.  Frankly, if somebody walked into an interview with this book memorized start to finish, and they didn’t have any other skills whatsoever, they’d still be more qualified than a lot of candidates I’ve interviewed.

My second concern about the book was that an incorrect or poorly-worded answer might cause a good candidate to miss out on a job.  If a non-SQL-savvy manager asked questions verbatim out of this book and expected verbatim answers, the book could lead to problems.  Some of the book’s answers are open to interpretation – for example, on page 41, the book asks, “What is OLTP?”  The book’s answer doesn’t match with what I would give, nor with Wikipedia’s definition.  Some of the answers are more clear-cut, though, like when page 54 says there’s a limit of 256 tables per query, and that’s wrong.  I’d recommend keeping the book’s online errata handy.

I get really nervous about the thought of a manager relying on this book’s answers as their only gauge of a candidate’s knowledge.  However, I’ve been through interviews like that myself – having a disagreement with a manager about the answer to a particular topic – and that’s a place that should be inside every DBA’s comfort zone.  We work with developers, project managers, and end users who have all kinds of incorrect assumptions about technology, and they’ve got books or blog posts to back up those assumptions.  We have to be able to back up our own answers, and sometimes that means saying to a manager, “We both believe we’re right – can you pop open a search engine and let’s check the latest documentation on SQL Server from Microsoft itself?”

Is This Book Just for Job Candidates?

I also bet that any of my readers will learn at least one thing reading this book, and it’ll drive you to go dive deeper into a particular topic.  I’d already learned something by page 34 when the book covers the order of the logical query processing phases: FROM, ON, OUTER, WHERE, GROUP BY, CUBE | ROLLUP, HAVING, SELECT, DISTINCT, ORDER BY, TOP.  I read that and a little light went on above my head – I’ve seen this kind of thing before, but I hadn’t thought about it in years, and it inspired me to go hit Google and learn more about the phases again.

The funny part about this book is that I like all of the questions, most of the answers for accuracy, and the rest for provoking thought.  I know that wasn’t the original intent, and it’s a hilarious thing for me to write in a book review, but there it is.

This book is a good starting point for MCITP test-takers, too.  The questions give you an idea of your qualifications because when an answer doesn’t feel natural to you, you can go drill down into the web to learn more about the topic.  If a topic feels like a no-brainer to you, then you probably shouldn’t waste time studying MCITP information about that topic either.

You can buy SQL Server Interview Questions and Answers for about $10 at Amazon, and Amazon Prime members with Kindles can read the Kindle version for free.

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

3 SQL Server Book Review Short Takes

Here’s what I’ve been reading lately on the SQL Server front.  I’d like to thank all three authors and publishers for providing these books for review.

Securing SQL Server by Denny Cherry
PaperbackKindle

Denny’s a jack of all trades, and a Microsoft Certified Master of SQL Server to boot.  I’ve had the pleasure of knowing Denny for a few years, and he’s on the short list of people who I’d trust with my server password list.  (I wouldn’t trust him with my laptop password, though, because he’s got a wicked sense of humor.)  When Denny first told me he was writing a security book by himself, I asked him why – it seemed like such a dry topic.  Amazingly, Denny was able to bring this material to life in a friendly, readable way.

It’s easy to recommend this book for companies that store financial, medical, or personally identifiable data in their databases, but going beyond that, I think every company with a multi-DBA team should have a copy of this book on their bookshelf.  A lot of my clients ask questions that are answered well in this book, and this book is way cheaper than a HIPAA/PCI/SOX audit.

If you’re a solo DBA at a shop, I probably wouldn’t recommend this book, though.  The topics covered in this book take time to implement, and they’re usually beyond the scope of what a single person has the time to do when they’re firefighting.  Yes, I wish all our databases were secure, but solo DBAs probably need to start with more basic security concepts such as how to configure service accounts, and that’s not covered here.  This focuses on senior DBA level knowledge.

Troubleshooting SQL Server by Jonathan Kehayias and Ted Kreuger
Paperback

Jonathan and Ted are forum monsters: they’re constantly patrolling user questions looking for ways they can help.  As a result, they’re well-versed in the typical problems DBAs face and the best ways to solve those problems.  They’ve compiled the results into a book.  The book reads like a very polished forum answer: if you’ve got a CPU problem, turn to Chapter 3.  You’ll learn what tools to use to diagnose the issue, the most common problems, and the best solutions.

Jonathan was one of the coauthors on Professional SQL Server 2008 Internals and Troubleshooting (PaperbackKindle), and at first glance, it might sound like those two books are similar.  This book is different because it takes a problem-and-solution approach, whereas our Pro 2008 Internals teaches the reader about internals first, then explains troubleshooting tools you can use to look under the hood.  I’d say that Troubleshooting SQL Server is a faster approach to getting ‘er done, and I’m adding it to my list of recommended books for SQL Server DBAs.

SQL Server 2008 R2 Administration Cookbook by Satya Shyam K Jayanty
PaperbackKindle

Lemme just start out by saying that I don’t like posting negative reviews.  I first received a review copy of this, marked it up, and emailed the publisher and author with a list of questions.  Despite a long dialog, I never got answers to the technical issues, so I tossed the book in the closet.  I wouldn’t have posted this review, but I noticed a disturbing number of five-star reviews for the book on Amazon.  It wouldn’t be fair for me to let people spend their money on this, because by buying it and following the advice, they’re hurting their SQL Servers.

Here’s a few examples of the advice:

  • P335 – in a section on designing maintenance tasks in a mission-critical environment, the reader is instructed to check maintenance plans for reorganize indexes, rebuild indexes, and update statistics.  This is the worst approach possible for a mission-critical environment: it will do all three tasks against every index in the database, every time.  If we absolutely had to use this approach, we could accomplish the same thing by simply rebuilding all indexes, but again, even that is a bad idea in a mission-critical environment.  It even tells the reader to create separate schedules, but doesn’t say how or when these tasks should run.
  • P361 – “Place transaction logs on RAID5 rather than RAID1+0 for sequential workloads.”  Not true, as Microsoft documented in Table1A of this doc.
  • P360 – in a section on building a scalable server: “…edition-wise it must be either DataCenter or Enterprise edition to host production data.” What, Standard isn’t good enough for production?
  • P70 – in the wait stats troubleshooting query, useless wait stats aren’t filtered out.  The example screenshot shows that the server is bottlenecked by SQLTRACE_INCREMENTAL_FLUSH_SLEEP, XE_TIMER_EVENT, and FT_IFTS_SCHEDULER_IDLE_WAIT, none of which are wait events that a DBA should spend time investigating.  Contrast this with the well-thought-out, production-tested queries in Troubleshooting SQL Server, and it’s pretty disappointing.
  • P360 – “Configure the storage and memory L2 cache per CPU has a minimum of 2 MB to improve memory.”  There are so many grammatical and technical errors here I don’t even know where to begin.

To top it all off, many of the book’s sample queries simply don’t work – keywords are mashed together with no spacing, like page 69′s “SELECTTOP” and “CROSSAPPLYsys”.  Ouch.

Needless to say, I don’t recommend adding this book to your collection, but if you’re itching for holiday reading, check out my recommended SQL Server book list.

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

Book Review: Applied Architecture Patterns on the Microsoft Platform

I usually hate architecture books.  I can’t stand ‘em.  Seems like every one I’ve ever read has been targeted at architecture astronauts – people who spend all their time talking theory, not practice.

Buy it. It's good.

Applied Architecture Patterns on the Microsoft Platform

This book is different.  Reading this book is like having drinks in the pub with a team of rock star consultants who’ve spent the last year jumping around from one cool project to another.  They give you the low-down on all the technologies they’ve been working with, telling you just enough information to help you understand what each technology is used for, but not so much that it’s boring.

Every chapter begins with a business challenge, discusses the requirements, and then compares and contrasts the abilities of various Microsoft tools to answer the business needs.  Every tool gets either a thumbs-up or a thumbs-down in four attributes: design, delivery, operations, and organization.  After picking the most appropriate tool, the authors show just enough sample code to illustrate how the tool works.  You can’t pick up this book and suddenly become a rock star consultant with any of the tools – that’s not the goal.  Instead, the goal is to help you pick the right tool for your needs, and then you go learn the right tool instead of trying to use a hammer to fix every problem.

You, dear reader, can pick up this book with no background in architecture, consulting, or the Microsoft stack, and just start skimming.  When a business scenario jumps out as interesting, dig deeper into that chapter.  Along the way, you’ll learn about a bunch of Microsoft products:

  • Windows Communication Foundation
  • Windows Server AppFabric
  • BizTalk
  • SQL Server Integration Services
  • SQL Azure
  • Windows Azure
  • Service Broker
  • SharePoint
  • StreamInsight
  • Hyper-V

Every developer, DBA, and project manager who works with consultants needs this book because it opens your eyes to new solutions you might not have considered before, and it wises you up to real-world weaknesses.  This isn’t a sales-pitch whitepaper by somebody’s marketing team – it’s honest material that fesses up where products fall down.

I don’t say this lightly: this was the best tech book I read in 2010. I’m very grateful to Ewan Fairweather, one of the authors, for giving me a copy.

Here’s where to learn more:

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

DBA Survivor by Tom LaRock – Book Review

How do you become a DBA?

Usually the answer is, “By accident.” You’re a developer or a Windows admin, minding your own business, when the company acquires a SQL Server or somebody installs SQL on a server somewhere. Since you’re the closest thing to a DBA in the shop, your manager asks you to keep an eye on the server – but nobody really even knows what that means.

Six months later, you’re struggling with backups, security, best practices, and you don’t even know what you’re supposed to do first each morning. Or maybe you get the idea that you want to take these newfound skills to a bigger company, and you get a job as The DBA. You don’t have a mentor and you can’t ask questions to anybody. What’s supposed to happen next? DBAs usually work in solitude without guidance, career plans, or heck, even a job desciption.

DBA Survivor

DBA Survivor

That’s where Tom LaRock’s book comes in.

There’s hundreds of books about database administration, but until Tom’s, I hadn’t seen one that laid out the job itself in plain, simple language. He explains the soft skills side of this landmine-filled position and teaches you the political tricks that most DBAs (myself included) don’t pick up until they’ve made half a dozen years of mistakes.

Tom’s personal history qualifies him well to write this book. He’s been a basketball coach, a DBA, and now he leads a global team of DBAs at a major financial institution. His peers elected him to the Board of Directors of the Professional Association for SQL Server. If you were going to pick someone who’s survived the DBA career path and been successful with it, Tom would make the short list.

I reviewed Tom’s book as it was being written, as did a few other SQL community members, and Apress decided to include the reviewer comments in the book itself. I loved this approach, and I think it adds to the book.

My big concern about DBA Survivor is that the people who really need it – accidental DBAs – aren’t going to find out about it early enough in their career. That’s where you, dear reader, come in. If you’re reading this blog, you might already be past the point of your career where you need is book. However, the next time a junior DBA, programmer, or Windows administrator comes to you for advice about SQL Server, consider mentioning this book to them. It will help them get their career on track and prioritize their work to avoid disasters down the road.

Check out DBASurvivor.com to read excerpts from the book.

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

Book Review: The Whuffie Factor

You, dear reader, probably don’t work in the marketing department.  The vast majority of my readers are information technology professionals, and the rest are my family.  (Hi, Mom!)

brent-ozar-on-twitterToday, you can’t get a job like mine without knowing how whuffie works.

In the not-too-distant future, you may not even be able to get a job like yours, or at least the job you want next, without knowing how whuffie works.

The Whuffie Factor

The Whuffie Factor

What Is Whuffie?

Whuffie is slang for social capital: your reputation, your credibility, your personal bankability.  It’s not as simple as the number of followers you have on Twitter, because that doesn’t necessarily indicate your trustworthiness – there’s plenty of spammers who’ve mastered the art of the followback.  It’s not as simple as the number of posts you’ve made on a forum somewhere, because that just indicates you’re really good at clicking the Submit button.

I first learned about whuffie a few years ago when I started playing with Flock, a web browser with social networking built in.  The people behind Flock were building a really cool product, and they were building it in an open way that involved their user community.  I was dumbfounded by this ability to interact directly with the developers.  I’ve never been one to file software bug reports because as a developer, I felt that most bug reports went unanswered.  Companies didn’t have the resources to fix bugs – they just wanted to push products.  I saw the way the Flock guys got so involved with their users, though, so I took the plunge and filed my first bug report.

I don’t remember whether or not they fixed the bug, but I remember that they interacted with me in a positive way, which encouraged me to file more bug reports.  I wasn’t building a mental image of a buggy browser, though – I was building a mental image of guys who genuinely cared about what they were doing and cared about their users.  This was completely different than any other online software experience that I’d had, and I found myself getting more and more involved.  I had to find out why these folks were acting this way, because it wasn’t a natural frame of mind for a software developer to react positively to bug reports.

Enter Tara Hunt

Among the many interesting people working in proximity to the Flock phenomenon, I ran across Tara Hunt’s blog at HorsePigCow.com.  She blogged about marketing and made me look at it in new ways that I’d never considered.  Marketing wasn’t just a bunch of sexist guys designing magazine ads of barely-clothed women holding their product in provocative positions.  Marketing meant understanding that places like forums, web sites and Twitter are, as The Whuffie Factor explains:

“…a simple but powerful online community where thousands of buying decisions are made every single day.”

This message isn’t just for companies: it’s for employees.  Every time you interact with another member of a community, whether you’re doing something good or not so good, you’re affecting your social capital.   Social networking transactions don’t happen in a vacuum, either – bystanders notice your actions, and even if they’re not involved with what you’re doing, they make buying decisions based on your actions.

“Who cares,” you ask, “if I’m not selling a product?”  Even if you’re not working a street corner, you’re selling yourself.  Future employers, future clients, and future coworkers are taking stock of your every action.

Why Whuffie Matters for Employees Too

I used to be a SQL Server database administrator.  As I got more involved with the Flock community, I realized that I had to be missing something.  There had to be a similar community for SQL Server, and I had to get involved with it.  I found PASS, attended my first conference, and started focusing my spare time on the community.  Tara’s book didn’t exist yet, so I read her blog, watched what the Flock team did, and tried to apply their techniques to my own work.  I made mistakes – and still do – but you have the advantage of this book to help guide you along the way.

The Whuffie Factor demystifies the workings of social capital and marketing, and these explanations work great for IT geeks.  Let’s face it: we suck at networking, and we suck at marketing.  We need all the help we can get.  This book is the help, and we don’t need a marketing background to understand how it applies to us.

The chapter “Become a Part of the Community You Serve” and the book’s repeated message about turning the bullhorn around especially resonate with me, and it illustrates the problems with so many IT communities.  Tara discusses how she worked with a web site to throw away their imaginary user profiles and connect directly with several real users instead using their own product.  They became more and more intertwined with their own customers, and as a result, built better products.  I’ve learned these lessons personally at Quest, and I found myself nodding over and over – and not because I was going to sleep.

Throughout the book, Tara gives simple, straightforward explanations of how to get whuffie, what happens if you do it right, and what happens if you do it wrong.

Whuffie is Easy to Get, but Much Easier to Lose

Companies don’t run around bragging about that time when they completely borked their online marketing strategy and pissed off thousands of customers.  They bury those stories as deep as they can.  The Whuffie Factor includes some of these cautionary tales, like the times when Wal-Mart tried influencing social networks with ill-advised stunts.

History continues to repeat itself, too.  In chapter 4, “Building Whuffie by Listening to and Integrating Feedback”, Tara tells the story of when Facebook launched feeds and alienated its users.  Facebook has shown time and again that if you don’t follow the lessons in the book, your reputation will be tarnished.  Reading The Whuffie Factor is a lot more effective than making these expensive mistakes in public.

When you do make mistakes in public – everybody does it sooner or later – the chapter “Embrace the Chaos” talks about how to handle it.  Part of me wonders why everybody doesn’t know this stuff innately, but watching some social networkers in action, it’s obvious that they don’t.  Whether you’re a company or an individual IT worker, knowing how to handle your public failures is a valuable lesson that by itself is worth the price of the book.

My Favorite Quote

My favorite quote from the book, and the one that sums up why even employees need to read it, is:

“You can’t eat whuffie, but it’s getting harder to eat without it.”

I know some of my readers already believe in the power of this fancy internet community thing because I interact with them on Twitter, Facebook, and so on.  At the same time, I know a lot of you haven’t bought into it yet because my blog readership dwarfs the Twitter numbers.  If you’re one of the masses who reads blogs but doesn’t do social networking yet, do yourself a favor and get this book.

Buy The Whuffie Factor on Amazon

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

Book Review: SQL Server 2008 Query Performance Tuning Distilled

My gauge of an amazing book is simple: if I’ve got a question, and I reach for the book BEFORE I search the web, then it’s an amazing book.

Several times in the last two weeks, I reached for this book first.

The Book’s Audience: Database Developers and Performance Tuners

SQL Server 2008 Query Performance Tuning Distilled

SQL Server 2008 Query Performance Tuning Distilled

This book is for people who:

  • Spend ten hours or more a week asking themselves, “How can I make this application run faster?”
  • Have the ability to change the database schema or queries
  • Know T-SQL well enough to get the data results they want (but not necessarily the fastest way to get those results)

This book is not for people who:

  • Ask themselves, “How can I make this server run faster?”
  • Don’t have the ability to change schema or code (for example, people managing third-party apps from vendors or consultants)

Notice that neither of these categories drew a line between developer or DBA.  I’ve worked with developers who knew how to query SQL Server to get the data, and their applications worked great – but just not as fast as they’d like.  They’re going to love this book.

What Query Performance Tuning Means

Query performance tuning is the art of reading a query’s execution plan, figuring out why it’s not fast, and then determining the most cost-effective way to make it faster.  Anybody can throw more indexes in and just hope it speeds up, but as the book illustrates, sometimes that can hurt more than help.

To do a good job, the tuner needs to know about indexing, statistics, execution plans, compilations, blocking, deadlocks, and query design issues that can force a query to perform poorly.  Some of this stuff is covered in abstract terms in college classes, but for the most part, all of us – developers, DBAs, sysadmins – are pretty much unprepared to guess what’s going on inside the SQL Server engine.

When you first design and deploy an application, that’s a great thing: you don’t need to know what’s going on inside the black box.  SQL Server handles a lot of load with the default settings, with pretty much any application design, before things start to creak and groan.  I’ve seen people build amazingly big SQL Server applications without any knowledge of how indexes or execution plans work.  True story: I walked into one shop to help with a performance problem, and the database administrator didn’t know that a table could have more than one index.  For the most part, their servers were still performing within their needs – but of course, we achieved some fantastic results with some simple performance tuning.  That DBA – and frankly, all of us – would have benefitted from a copy of this book.

Appropriate for Both Junior and Senior Levels

If you fall into this performance tuner target audience, regardless of your seniority level, you’re going to find this book’s price an extremely worthwhile investment. The book’s authors, Grant Fritchey and Sajal Dam, strike a great balance between bringing you up to speed versus diving into advanced concepts.

Chapter 4 on Index Analysis is a great example.  It spends the first few pages bringing the beginners up to speed on what an index is and how B-trees work.  Then it gradually layers on an explanation of how you would approach index design and why the width of your index matters.  The explanation includes queries that prove the concepts, with screenshots of results where appropriate.  The discussion ramps up to more advanced topics like covering indexes, filtered indexes, and compression.

When I talk about index tuning to groups of DBAs, the discussion inevitably turns to statistics – and sure enough, the book starts covering those a couple of chapters later.  I really like the organization of this book because it progresses in the same way that I’d recommend training for a performance tuner.  If you need to make an application run faster, read the book in order.  Don’t be tempted to jump to, say, execution plan analysis – you’ll make poor decisions without understanding the concepts discussed earlier.

I’ve been performance tuning applications for years, trying to wring every last dollar’s worth out of my hardware to make our applications run faster, and I keep learning things as I go through this book.  Normally, I try to read the entire book cover to cover before posting a review, but in this case, it’s going to be quite a while before I finish the book.  I just keep reading a chapter, catching enough things I didn’t know before, and then stopping to apply that knowledge and test it out in my lab.  I highly recommend it.

You can buy SQL Server 2008 Query Performance Distilled from Amazon, and there’s a Kindle version too.

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

Book Review: SQL Server 2008 Administration in Action

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.)

Sssssmokin!

Sssssmokin!

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.

Buy SQL Server 2008 Administration in Action from Amazon

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

Book Review: Microsoft SQL Server 2008 Management and Administration

Production database administrators have to know at least a little about a lot of things:

Microsoft SQL Server 2008 Management and Administration

Microsoft SQL Server 2008 Management and Administration

  • 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.

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