SQL Server Expert Blogs

Performance impact: the cost of NUMA remote memory access

Linchi Shea - Mon, 01/30/2012 - 16:17
These days if you get a new server-class machine to run SQL Server, you can almost be 100% sure that it’ll be running on NUMA hardware. The recent AMD Opteron and Intel Nehalem-based processors are all built on some form of NUMA architecture. The current...(read more)

How to Document and Configure SQL Server Instance Settings

Simple-Talk on SQL - Sun, 01/29/2012 - 17:00
Occasionally, when you install identical databases on two different SQL Server instances, they will behave in surprisingly different ways. Why? Most likely, it is down to different configuration settings. There are around seventy of these settings and the DBA needs to be aware of the effect that many of them have. Brad McGehee explains them all in enough detail to help with most common configuration problems, and suggests some best practices.

No respect: NUMA affinity meets query parallelism

Linchi Shea - Fri, 01/27/2012 - 22:32
What happens when NUMA affinity meets query parallelism? It gets no respect! SQL Server allows you to affinitize a TCP port to a specific NUMA node or a group of NUMA nodes. Books Online has an article on How to: Map TCP/IP ports to NUMA Nodes . And this...(read more)

T-SQL stored procedure for finding/replacing strings in a text file. Really?

Linchi Shea - Thu, 01/26/2012 - 22:33
I know people have been doing all sorts of things with T-SQL, and I have absolutely no issue with people trying to push the limit of what T-SQL can do, or what you can use it to accomplish, especially when it’s for demonstration or pedagogical purposes,...(read more)

Performance impact: SQL2008 R2 audit and trace

Linchi Shea - Tue, 01/24/2012 - 20:29
We are told that SQL Server 2008 R2 Audit (and SQL Server 2008 Audit) has much less performance overhead than SQL Trace when we try to capture the same information. Knowing how SQL Server R2 Audit is implemented (i.e. on top of the extended events infrastructure),...(read more)

Confessions of a DBA: My worst mistake

Simple-Talk on SQL - Sun, 01/22/2012 - 17:00
Over the next few months, we'll be asking various well-known DBAs to describe their worst disaster caused by a mistake they made. To kick off the series, we asked Phil Factor to confess. He came up with a classic: The mistaken belief that a backup WITH CHECKSUM guaranteed a good backup that could be restored, and the ensuing disaster.

Performance impact: hyperthreading on Intel Westmere-EP processors (X5690)

Linchi Shea - Sat, 01/21/2012 - 23:41
Recently, I have been looking into the performance impact of enabling hyperthreading on various platforms with various SQL Server workloads. All the results I have shared so far are from a DL580 G7 with four Westmere-EX  (E7-4870) processors. Overall,...(read more)

SQL Cop Review

Simple-Talk on SQL - Wed, 01/18/2012 - 17:00
Static code analysis is used a lot by application programmers, but there have been surprisingly few tools for SQL development that perform a function analogous to Resharper, dotTest, or CodeRush. Wouldn't it be great to have something that can indicate where there are code-smells, lapses from best practice and so on, in your Database code? Now there is.

Great SQL Server Debates: Buffer Cache Hit Ratio

Simple-Talk on SQL - Tue, 01/17/2012 - 17:00
One of the more popular counters used by DBAs to monitor the performance, the Buffer Cache Hit Ratio, is useless as a predictor of imminent performance problems. Worse, it can be misleading. Jonathan Kehayias demonstrates this convincingly with some simple tests.

Performance impact: not all is better with hyperthreading

Linchi Shea - Tue, 01/17/2012 - 15:57
In the comments to my previous post on the performance impact of enabling hyperthreading on reporting queries, Serguei Tarassov indicated that it might be interesting to try different reporting queries, and suggested a specific parameterized test query....(read more)

Buck Woody's Cloud Howlers

Simple-Talk on SQL - Mon, 01/16/2012 - 17:00
We asked Buck Woody to come up with his favourite 'Cloud' Howlers. After 'Howler' monkeys, we are faced with Howler letters. Buck dreams of sending Howler letters to the folks who dreamed up the marketing hype around 'cloud' services, who misunderstand services, who don't prepares applications for distributed environments and so on.

Relational Databases and Solid State Memory: An Opportunity Squandered?

Simple-Talk on SQL - Mon, 01/16/2012 - 17:00
The relational model was devised long before computer hardware was able to deliver an RDBMS that could deliver a fully normalized database with no performance deficit. Now, with reliable SSDs falling in price, we can reap the benefits, instead of getting distracted by NOSQL with its doubtful compromise of 'eventual consistency'.

Performance impact: driving up context switches/sec

Linchi Shea - Wed, 01/11/2012 - 22:23
Too many context switches per second are considered bad for your database performance. But how many is too many has never been clear. With the core count of new servers going up rapidly, it becomes even less clear how we should evaluate this counter to...(read more)

Performance impact: hyperthreading for OLTP queries -- II

Linchi Shea - Wed, 01/11/2012 - 11:51
This is in part a response to a comment by Paul White ( @SQL_Kiwi ) to my previous post on the performance impact of enabling hyperthreading (HT) on OLTP queries , and in part due to my desire to capture a more complete set of test data for future investigation...(read more)

Close Those Loopholes: Lessons learned from Unit Testing T-SQL

Simple-Talk on SQL - Sun, 01/08/2012 - 17:00
Alex has done some pioneering work on the testing of stored procedures over four years, and has learned a great deal in the process. In this article, he spells out the lessons learned from a wealth of experience in Unit Testing T-SQL.

Elephant in the room: TPC-E

Linchi Shea - Fri, 01/06/2012 - 22:21
Over the past few months in several semi-formal occasions, I ran into folks from your well-known vendors (minus Microsoft). Some of the folks were from the vendors’ performance labs and were involved in conducting benchmark tests and publishing benchmark...(read more)

Performance impact: hyperthreading for OLTP queries

Linchi Shea - Thu, 01/05/2012 - 21:44
My previous post focuses on the performance impact of enabling hyperthreading (HT) on a machine with four Intel Westmere-EX processors on reporting queries. Let’s turn our attention to OLTP queries. To oversimplify it, reporting queries are generally...(read more)

Performance impact: hyperthreading for reporting queries

Linchi Shea - Wed, 01/04/2012 - 22:36
There are a lot of questions on hyperthreading, but not a lot of answers. There is no shortage of opinions, but very few are based on significant first hand experience or solid test data. We know that the hyperthreading technology in the older generations...(read more)

Tom LaRock's SQL Server Howlers

Simple-Talk on SQL - Wed, 01/04/2012 - 17:00
In this next article in our series where well-known SQL Server people write about their favorite SQL Server Howlers, we asked Tom Larock for his top five common misunderstandings about how SQL Server works that end in tears, and plaintive forum questions.

Incorporating XML into your Database Objects

Simple-Talk on SQL - Tue, 01/03/2012 - 17:00
XML data can become a full participant in a SQL Server Database, and can be used in views, functions, check constraints, computed columns and defaults. Views and table-valued functions can be used to provide a tabular view of XML data that can be used in SQL Expressions. Robert Sheldon explains how.