Wayne Sheffield

About Wayne Sheffield

I’ve been involved with technology for 36 years. Since 1998, I’ve been working with SQL Server, since version 6.5. I am a Microsoft Certified Master and Microsoft Certified Solutions Master (and all those prerequisites). Earning my MCM has definitely been a career highlight for me. Even with that under my belt, I welcome any opportunity to learn new things about SQL. I love tuning queries for optimal performance, and automating tasks. I co-authored SQL Server 2012 T-SQL Recipes: A Problem-Solution Approach, frequently participate and present at SQL Server events (including SQLSaturday’s), and I write for SQLServerCentral.com. The most rewarding project I have been a part of, to date, is my marriage. Career-wise, it would be the journey to earning my MCM.

Combating SQL Injection

Target. Home Depot. NASA. U.S. Army. Anthem. Wall Street Journal. MarketWired. Ashley Madison. What do they all have in common? They are all recent victims of cyber-attacks – several of these are confirmed to involve SQL Injection. Even though the exact method used to penetrate the other systems has not been released, experts believe that […]

By |September 16th, 2015|SQL Group|0 Comments

Automating DBCC DBTABLE – Obtaining the Disk Sector Size

It’s a best practice to have the disk sector size (also known as the allocation unit size or block size) set to 64kb (see this white paper), so how can you get that info programmatically?

I was recently reading this msdn article on Ghost Records, and it mentioned that you could get the number of ghost […]

By |April 28th, 2015|SQL, SQL Group, SQL Server|2 Comments

Automating DBCC PAGE – Part 3: Is a Clustered Index physically sorted on disk?

In my last few blog posts, I’ve shared several methods of getting internal information from a database by using the DBCC PAGE command and utilizing the “WITH TABLERESULTS” option to be allowed to automate this process for further processing.

This post will also do this, but in this case, we’ll be using it to bust a […]

By |March 25th, 2015|SQL Group|0 Comments

Automating DBCC Page

Way back in 2006, Paul Randal documented DBCC PAGE on his Microsoft blog at http://blogs.msdn.com/b/sqlserverstorageengine/archive/2006/06/10/625659.aspx. In his post, you will notice that in order to return the output from DBCC PAGE to the screen, you need to enable trace flag 3604 first. The above blog post shows a few examples of the results and utilizing […]

By |December 23rd, 2014|SQL Group|0 Comments

Dodging Phantom Reads

October… the month of Halloween. Spooky events. SQL Server has all kinds of Halloween-ish themed activities like Split Brains, Zombies, Ghosts, Phantoms, and of course Halloween itself. In this post, we’re going to mill about with phantom reads a bit.

Phantoms in SQL Server are actually called “Phantom Reads”. This ectoplasmic phenomenon manifests itself when an […]

By |October 29th, 2014|SQL Group|0 Comments

How TCP Chimney Offloading Affects SQL Server

TCP Chimney Offload transfers network traffic workload processing from the CPU to a network adapter that supports TCP Chimney Offload. This feature was introduced with Windows Server 2003 SP2, and it was called the Microsoft Scalable Networking Pack (SNP). Since Windows Server 2008, these features are a base part of these operating systems, so they […]

By |September 16th, 2014|SQL Group|1 Comment

How to improve SQL Server’s IO performance by up to 40%

In my last article, I started off talking about checking various settings that make a performance difference prior to jumping into query tuning. This article continues the investigation into IO performance affecting settings, by jumping straight into the storage subsystem. How would you like to make a single change to your drives and have the […]

By |August 12th, 2014|SQL Group|0 Comments