The SQL Server Buffer Pool and Buffer Cache Hit Ratio

There seems to be some confusion surrounding Buffer Cache Hit Ratio and the SQL Server Buffer Cache. Having answered several queries concerning this over the last few weeks on a variety of forums I thought I would post here in order set the record straight. What is the SQL Server Buffer Cache? The Buffer Cache(…)

Automate SQL Server Index Defragmentation,Optimisation

This week I came across what could quite possibly be, the best SQL Server index defrag script I have seen. This little beauty is fully customisable and is freely available courtesy of Michelle Ufford (aka SQL Fool) on her blog SQLFool.com As you know, it is just not practical to use a SQL Server Maintenance(…)

SQL Server Memory Configuration, Determining MemToLeave Settings

Determining the appropriate memory configuration for a SQL Server platform is a task that all database administrators are required to perform. It is essential to ensuring that an appropriate level of performance can be provided. I am going to discuss some of the additional memory configuration tweaking that you may wish to undertake so that(…)

SQL Server Stuff Discovered This Week

Virtualisation As you may already know, I am big fan of the work of Brent Ozar, a talented SQL Server professional and online author of excellent quality SQL Server content. I particularly enjoy his podcast series and think the clear, direct style of his presentations are brilliant. You can learn a great deal in a(…)

Performance Comparison of (SELECT TOP 1) Verses MAX()

I recently came across a post on Stackoverflow regarding the performance of using a SELECT TOP 1 query in comparison to using the MAX() function. My initial thoughts on this were that the MAX() function would provide the best performance however, in order to be absolutely certain and prove my initial hypothesis I decided to(…)

Finding Bad Indexes Using SQL Server DMVs

Today I want to show you how to go about finding bad indexes. SQL Server indexes are often promoted as the answer to all of our performance optimisation needs. It may then surprise you to hear that indexes can also be bad for performance. “What are you yapping on about John” I hear you shout.(…)

What is your biggest SQL Server mistake?

You know the one I am talking about. We have all been there at some point. You get that awful feeling of dread as a chilling realisation sets in and you ask yourself, oh my god did that actually just happen. Sure you can laugh about it now though, right. So come on and share(…)

New SQL Server Resources

    One of the joys of working with SQL Server technologies is that there are some truly great knowledge resources available for use. You just have to know where to look. With the volume of information available it can be difficult to sift out the really good stuff. I know throughout my time as(…)

Disaster Recovery Planning – Getting Started

The starting point for a rock solid disaster recovery (DR) strategy is to establish what the true cost of server/platform downtime would be to the business. The project will require you to collaborate with your key business decision makers and you will need to communicate to them what the associated costs of downtime are and(…)

Stackoverflow addiction

Well I suppose it was both inevitable and only a matter of time before I became the next victim of Stackoverflow addiction! I hold BrentO fully responsible for this devourer of my valuable free time. For it was he who introduced me to what is quite possibly one of the best technology forums on the(…)

Here is a Wordle for this site

Wordle seems to be doing the rounds on the SQL Server blogs and community resources at the moment so I thought I would knock one up for this site.

TempDB configuration, optimal number of data files to use

Have you ever wondered what is the optimal configuration for your tempdb database within SQL Server? There is often significant debate surrounding this subject and so Paul S. Randal, discusses using multiple files for a user DB on a multi-core box in an effort to set the record straight. I have been doing some very(…)

Hidden RBAR: Triangular Joins

No matter how good a T-SQL programmer you think you are, it is always good to revisit the basics every once in a while and to ensure that you keep your high quality coding standards in check. One of my favourite series of articles regarding good T-SQL coding practices is by Jeff Moden over at(…)

Performance Dashboard Report – Datatype Overflow Error

When you try to execute the Performance Dashboard Reports for the first time, you may be presented with an error of the form: “the difference of two datetime columns caused overflow at runtime” This is because the DATEDIFF function returns an int value and once you have a connection that is more than 24 days(…)

What makes an exceptional DBA?

When attempting to define what makes a good Database Administrator, understandably the focus is often placed on the technical skills that are deemed to be required. There are plenty of great resources available on the net that can be used to research this aspect. For instance, Brent Ozar has some excellent material on his site.(…)

Being Organised

An essential skill trait for a good DBA in my view is being organised. With the responsibility of administering and managing vast numbers of servers/jobs/processes simultaneously across the globe, it goes without saying that being organised can come in handy. What with so much going on at any given time, it can be tricky to(…)