I have been doing work with multiple clients using the GE Centricity EMR product which makes extensive use of Microsoft SQL Server. The performance issues that you run into with Centricity are very similar to what I see working with other clients on a daily basis. Centricity is a solid product, when you run into performance issues, they can often …

GE Centricity EMR Performance Tuning. Read more »

Here is a discovery that I made using the Database Health Monitor historic wait monitoring, on a server with slow storage where the backups were being written. If you are seeing excessive waits on the PREEMPTIVE_OS_GETPROCADDRESS wait type and xp_create_subdir is the command with the wait, and this is occurring at the time your backups are being run, it is a …

PREEMPTIVE_OS_GETPROCADDRESS and xp_create_subdir Read more »

Tables, and indexes are organized in SQL Server into 8K chunks called pages. If you have rows that are 100 bytes each, you can fit about 80 of those rows into a given page. If you update one of those rows to have more data that contains a variable length field like VARCHAR, NVARCHAR, and others, that will cause the …

What is a Page Split Read more »

I/O is Frozen on Database. You are scanning your SQL Server Logs and discover the following error messages. There may be a long list of them, one frozen and one resumed for each database on your SQL Server. I/O Is Frozen On Database The error message doesn’t sounds good, I/O frozen… Your SQL Server needs its I/O, and how could frozen …

Error Log: I/O is Frozen On Database Read more »

Some of the biggest performance tuning wins that I have had over my career have been related to performance tuning queries that are being called from SSIS. So often the actual query performance gets overlooked in the SSIS environment. A few years ago I was able to tune a query that was being called from an SSIS package and reduce …

Steps to Improve ETL Performance Using SSIS Read more »

Statistics IO and Statistics Time is another SQL Server Performance Tuning Tip to help you better understand performance bottlenecks. Have you ever wanted to know exactly how long it took for a query to run? Have you ever wondered how many I/O reads or writes were caused by your query? With Statistics IO and Statistics Time you can understand both of these. …

Statistics IO for Performance Tuning in SSMS Read more »

Statistics IO and Statistics Time are another SQL Server Performance Tuning Tip to help you better understand performance bottlenecks. Have you ever wanted to know exactly how long it took for a query to run? Have you ever wondered how many I/O reads or writes were caused by your query? With Statistics IO and Statistics TIME you can understand both …

Using Statistics Time for Performance Tuning in SSMS Read more »

When you are looking for deadlocks there are, like most things in SQL Server, more than one way to find the deadlocks. This article is specifically focused on using the SQL Server ERRORLOG file located in the LOG directory for the SQL instance. If you used the defaults on SQL Server 2012, this log would be at this location: C:\Program …

Deadlock and Trace Flags 1204 and 1222 Read more »

Most DBAs know the usual difference between TRUNCATE and DELETE FROM, however one not so obvious difference between the two is how things are handled if the table is corrupt. For instance, if you look at the corrupt database from the Database Corruption Challenge Week 1, you see the following If you want to clear out the corrupt Revenue table, …

Difference Between TRUNCATE TABLE and DELETE FROM Table Read more »