The Best Four Sentence Blog Post Ever

“Eliminate all unnecessary words from your writing.” That’s the advice given me by Jeremiah Peschka (blog, twitter) at SQLSaturday 51 when I was picking his brain on writing. He recommended that I read “On Writing Well” by William Zinsser. I’ve added it on my list.

In a recent blog post, Seth Godin took this technique to an extreme. The result was nothing short of profound. In four short sentences, Godin managed to admonish and edify businesspeople the world over. Wow.

The power of making every word count.

Now Serving: SQL Server 2008 SP2 CTP


For those of us who love to get our hands on the latest and greatest shiny new things, the wait is over for SQL Server 2008 SP2 CTP. You can download it now and “Gentlemen, start your testing!”

Read the SQL Server Team Blog Announcement.

And by the way, there’s really no such thing as too much chrome.

Partition Alignment and Late Night Infomericals

Late night infomercials make some amazing claims. “If you order now you too can cut through a cinderblock wall and then slice the most delicate of tomatoes. Add a side of bacon and you’ve got a tasty summertime treat that’s sure to please guests of all ages.”

Ahhh, yeah. Right. Except for the part about adding a side of bacon, I don’t believe it.

There’s an old axiom “If something sounds too good to be true, it probably is.” So it is with those infomercials. It’s Buyer Beware.

But axioms were made to be broken; they can be wrong.

SQLCat White Paper on Partition Alignment

Such is the case with a white paper from the SQLCat team. In it, the authors describe how properly aligning disk partitions can help servers realize an up to 30% boost in disk I/O performance. The relatively short paper discusses the theory behind the findings and give practical steps to ensure your partitions are aligned.

A 30% boost in performance at no cost to you? Sound too good to be true? It’s not.

So what are you waiting for? Download your white paper today for the low, low introductory price of just the time it takes you to read it. Click now!

Learn SQL Server 2008 R2 with 24-HOP

Last month, the Professional Association for SQL Server (PASS) held its second 24 Hours of PASS, or 24 HOP for short. What is 24 HOP? It is 24 one-hour SQL Server technical presentations streamed back to back for 24 hours straight. Wow!

The line up was impressive with many of the biggest names in the SQL Server community. If you missed the live feed, or simply just couldn’t make your brain focus for 24 consecutive hours, no worries. The 24 HOP recordings are now available on the PASS web site. You need to be a PASS member to view them, but that’s easy and free.

Let’s have a look at the line up.

24 Hours of PASS Sessions

The Line Up

  • Session 01: Introduction to PowerPivot (Brian Knight)
  • Session 02: Database Development Patterns (Andy Leonard)
  • Session 03: What Exactly is in SQL Server 2008 R2 (Kevin Cox)
  • Session 04: Getting Started with SQL Server Utility in SQL Server 2008 R2 (Glenn Berry)
  • Session 05: Data Tier Applications (Jacob Sebastien)
  • Session 06: What’s Really Happening on Your Server? 15 Powerful SQL Server Dynamic Management Objects (Adam Machanic)
  • Session 07: Filtered Indexes, Sparse Columns: Together, Separately (Don Vilen)
  • Session 08: Solving Common Business Problems with Microsoft PowerPivot (Donald Farmer)
  • Session 09: Exploring SQL Server 2005 and 2008 Security (Don Kiely)
  • Session 10: Using Data Compression with SQL Server 2008 and 2008 R2 (Maciej Pilecki)
  • Session 11: Easier than Ever Report Authoring in SSRS 2008 R2 (Jessica M. Moss)
  • Session 12: High Performance Functions (Simon Sabin)
  • Session 13: Manage Your DBA Career, Don’t Let it Manage You (Brad McGehee)
  • Session 14: Top 10 Mistakes on SQL Server (Kevin Kline)
  • Session 15: Producing Dashboards with PerformancePoint Services (Peter Myers)
  • Session 16: Reporting Services Enhancements in SQL Server 2008 (Greg Low)
  • Session 17: SQL Tuning – Get it Right the First Time (Dean Richards)
  • Session 18: Managing SSIS Package Deployments with Powershell (Sean McCown)
  • Session 19: Multi-Server Management With UCP, MDW and PBM (Chuck Heinzelman)
  • Session 20: Advanced T-SQL Query Tuning Techniques (Rob Farley)
  • Session 21: Implementing MDM Using SQL Server 2008 R2 Master Data Services (Rushabh Mehta)
  • Session 22: SQL 2008 R2 How to Manage CPU’s, Cores and CPU Groups (Thomas Grohser)
  • Session 23: Database Design Fundamentals (Louis Davidson)
  • Session 24: BLITZ! 60 Minute Server Takeovers (Brent Ozar)


How to Tell When SQL Server Started?


As a consultant, I’m regularly asked to diagnose and solve problems when I have incomplete or conflicting information given to me by the client. They don’t mean any harm, but different people in the organization have different perspectives and different memories. Sometimes it is difficult to know what is really happening.

When I’m working with systems like SQL Server, it is always good to gather as much information from the system itself as I can and not rely too heavily on someone else’s memory. Trust but verify as President Ronald Reagan once said.

When was the server restarted?

SQL Server maintains a lot of information about how it’s doing and when certain events ocurred. Much of this information resides in the Dynamic Management Views (DMVs) of SQL Server 2005 and 2008.

For example, let’s say we want to know when the SQL Server instance was last restarted. When can easily collect this information using a quick query. There are several other methods as well but this one is my preferred way.

Session_Id = 1;


Additional Resources

SQL Server Books Online has more information about this and other DMVs. Additionally there are some other great resources on the web.

And there are many, many more. Just use your favorite search engine and begin using the DMVs to make your job a little easier.


  • What’s your favorite DMV?

Licensing SQL Server Reporting Services


I have my license here somewhere, officer.

Licensing models can sometimes make database modeling seem trivial. Per processor or per seat? Single core, dual-core, multi-core processors? Multiple instances on one server? Virtualizing servers on a single server? Active / Passive clustering? It can get very confusing, very quickly.

Recently, I was asked by a former student about licensing for a SQL Server Reporting Services instance. In the proposed scenario, the Report Server would be installed on one server and the back end database would be installed on a separate, remote server. How many licenses of SQL Server are required?

In short, each server where a Business Intelligence component is installed requires a valid SQL Server license. So, a remote database deployment scenario where the Report Server is installed on one server and the ReportServer database is installed on a separate server requires two licenses of SQL Server.

But don’t take my word for it. Here are a couple of links that will help clarify licensing requirements.

Got any licensing stories you’d like to share? I’d love to hear about them.

Viewing Missing Indexes in Management Studio 2005


If you’ve used SQL Server 2008 Management Studio (SSMS 2008), you may have noticed that Microsoft added a pretty neat little feature when looking at Execution Plans, the Missing Index message. This subtle message may appear when you’re looking at either the Actual or Estimated Query Execution Plan in graphical mode. It can be seen written in green just below the query text.


The message tells you that the optimizer would have been able to resolve the query faster if only it had another index. It’s even tells you what that index should be. I’ve heeded its advice on more than one occasion with very good results.

But I’m Running SQL Server 2005

Unfortunately, not everyone has access to SSMS 2008. And Management Studio in SQL Server 2005 (SSMS 2005) doesn’t provide this kind of information – at least not in an automatic and graphical. The image below shows the same query as run in SSMS 2005.


You can, however, retrieve the missing index information for a query another way – viewing the Execution Plan as XML.

Viewing the Execution Plan as XML

To view the Execution Plan in XML, open a query window in SSMS 2005 and use the SHOWPLAN_XML option as shown below.


Execute the statement to set the option. Setting the SHOWPLAN_XML option causes SQL Server to return the estimated execution plan in XML for subsequent queries on this connection instead of actually executing the queries. For more information about the SET SHOWPLAN_XML statement, visit Books Online.

Once the SHOWPLAN_XML option has been set, “execute” the query whose execution plan you wish analyze. You’ll see something similar to the follow image. Note the SHOWPLAN_XML works best when the output is set to “Result to Grid.”


Double click the XML hyperlink to open the execution plan. Scroll down until you see (or search for) the MissingIndexes node. In the example below, there’s a single missing index identified, an index on the phone number. In this case, the optimizer is suggesting that simple, nonclustered index would improve performance. The impact attribute estimates the improvement that adding the index would have. The optimizer may also recommend nonclustered indexes with included columns and composite indexes.


Use Your Head

The Missing Index feature in Management Studio can be really nice. It’s another tool available to us as database professionals to help us do our job. However, as helpful as it sometimes can be, it’s no substitute for using your own skills and knowledge when considering which indexes to create, or not create.

Consider what the message recommends in a broader context. What effect will the new index have on inserts and updates? On maintenance plans? Then decide if the index is worthwhile.

Additional Information

To learn more about the Missing Index feature, visit some of these site.

Have you used this feature? Have you found it useful? I’d like to hear you experiences.

SQL Server MVP Deep Dives Book Signing at PASS

The PASS Community Summit is one of the highlights of my professional year. It’s a time when members of the SQL Community from around the globe can gather together at one place for learning, sharing, and networking. As I’ve often said, the best part about the PASS Community Summit is getting to catch up with friends that I only see once or twice a year. I love that.

And this year’s Summit was doubly special in that regard. This year I was able to get together with a bunch of other folks for the official release of the SQL Server MVP Deep Dives book.

If you haven’t already heard, 52 really smart people and I got together to write a SQL Server book. All of the proceeds from the book are being donated to charity,

It was a great pleasure and honor to work with Manning Publications and this group of renowned experts in their field to benefit a charity that crosses geographical, political, and socioeconomic boundaries to help children in war ravaged parts of the world.

And it was rewarding to see how the SQL community at PASS responded. The conference bookstore sold out of the book after the first day of the conference and sales of the book surpassed all prior title sales at the conference by a factor of five!

Those who bought a book on-site were able to get it signed by many of the authors; 35 were at the conference.

All in all, this was a special time and I hope you consider buying the book and supporting the effort and WarChild.

Reporting Services resources


Thanks to everyone who attended my SQL Server Reporting Services class in Nashville over the last couple of weeks. As promised, here is a list of online resources that may prove useful to you as you continue to work with Reporting Services.

Additionally, the following links, though not wholly dedicated to Reporting Services, frequently have good Reporting Services articles and content.

And finally, the following book has been well received by its readers according to Amazon.

This list is far from comprehensive. So if you have some links that you’ve found worthwhile, please share them in the comments below.

Update: After I published this list, I was reminded of another great Reporting Services resource entitled Rules to Better SQL Reporting Services. It discusses some best practices for report design to give your users a better experience. It’s definitely worth the read.

Good information is easy to find

Serious technologist and part-time enthusiasts alike know that the Internet is awash in information. Much of the information is good. Some of it is, well, not so good. And unfortunately, some of it is just plain wrong. It can misleading at best and downright damaging at an extreme. Applying what you learn on the Internet is Caveat Emptor or “Let the buyer beware”.

So how can you separate the wheat from the chaff? How can you easily find the rose among thorns? To answer that, let’s consider the medium or form of the information provided.

Newsgroups and forums

When looking for a solution to a specific question or problem they are experiencing, one of the first places many people turn is the newsgroups and forums.

Google Groups is a great place to start if you’re unfamiliar with newsgroups. You can think of newsgroups as the billboards of the information super hi-way. They are messages that anyone can read. Google Groups provides a good, web-based front end on the the NNTP service that makes it easy to search through all of the posts.

There are other sources, too. Microsoft maintains some news servers that host newsgroups for many of their products, including SQL Server.

One thing that attracts many people to the newsgroups is that they can use their preferred newsreader to browse the newsgroups and manage their posts.  You don’t have to use the web front end.

The challenge that most people face when using newsgroups is easily identifying the sound advice from the rest of the noise. Newsgroups are not regulated or monitored, and that can be a good thing. It allows everyone to contribute freely. But it also means that anyone, yes anyone, can say pretty much anything on newsgroup with little ramifications. This can lead to some unusual and potentially unsound advice.

That’s not to say that newsgroups are a free for all. No, there are really dedicated folks, many are MVPs, who constantly peruse and police the newsgroups. They offer good advice and call out those who are misguided in their input. But this is an informal system at best.

Forums are very similar to newsgroups in many aspects – people post questions and other people respond with advice or solutions. Forums typically only have a web front-end and are specific to a particular company or organization. There are lots of good SQL Server related forums that you can frequent for information.,, the MSDN Forums are all great places to look for information. Most forums have official moderators that monitor the discussions; they ensure that bad advice is not being proffered and to keep the posts on topic. and have taken the forums concept to a new and different level. Questions and responses are monitored not just by a few moderators but essentially by the community at large. You can vote up or down responses to a particular question to indicate those that you find most and least valuable. This allows the community to, and trusts that the community will, elevate the helpful replies while allowing the rest to fade away.

Blogs & Web Sites

Blogs and other web sites can also be a great source of information. Most every morning, I have a list of blogs that I read using a RSS (Really Simple Syndication) reader. My reader of choice is Google Reader, but there are lots from which to choose.

Once again, you should be careful and confirm whatever you read on a blog posting before running off and implementing it on your server. Anyone can create a blog and claim to be an industry expert. So it helps to find a few names that you trust and start with them. is a great place to look for SQL Server related blog content. To blog there is by invitation only and most of the bloggers are SQL Server MVPs so you can pretty sure that you’ll receive sound advice. The Technet blogs are also a great reservoir of technical knowledge, as is

Additionally there are great community based web sites like and that have rigorous standards for the articles they produce.

Find a who’s who

Still not sure where to start? Well, there are some really dedicated folks out there who create a sort of a Who’s Who for bloggers. Thomas LaRock is one of the most well known in the SQL Server realm. He regularly updates his rankings list of best SQL Bloggers. As a matter of fact, my blog made his most recent list. It was promoted to msdb status.

This list is by no means to be considered exhaustive. As a matter of fact, as soon as it is published it’ll likely be dated. So if you know of any resources or links that I’ve missed, please feel free to share them in the comments section.



Update: Shortly after I published this blog posting, I was reminded of another resource that’s definitely worth mentioning – SSWUG.  The SQL Server Worldwide User Group provides articles, forums, & scripts to its members. It also combs the internet to aggregate articles from other sources to present them in one consolidated location. Another interesting concept from SSWUG is its virtual conference with some of the biggest names in the industry presenting sessions online.