Hello, World! Encore Edition aka Good-bye, Microsoft

Moving On After nearly nine years at Microsoft, I’ve chosen to move on. I’ve accepted a position at Fusion-io—now a SanDisk company—as Worldwide SQL Server Solutions Architect where I’ll be evangelizing, documenting best practices, collaborating directly with the Windows & SQL product teams & other partners, doing cutting-edge performance work, & of course flipping the…


Disk Partition Alignment: It Still Matters–DPA for Windows Server 2012, SQL Server 2012, and SQL Server 2014

Introduction I continue to receive dozens of inquiries each year about this issue.  The “fix” in contemporary versions of Windows Server combined with the absence of formal guidance since the white paper’s publication has led some to believe that disk partition is no longer a best practice.  This is incorrect.  Partition alignment remains a best…


A Language for Software Architecture by JD Meier in The Architecture Journal

J.D. Meier is a Principal Program Manager for Microsoft’s Patterns & Practices team.  He’s a great writer & a clear thinker.  J.D.’s Sources of Insight is devoted to getting results & balancing life. His latest-&-greatest publication is available now: A Language for Software Architecture J.D. Meier, The Architecture Journal, #19, TechEd 2009 Special Edition Article…


Disk I/O Case Study: Classic Case of SAN Over-Subscription

SAN Over-SubscriptionThere are a variety of challenges related to I/O performance.  One common problem is “SAN Over-Subscription”, which is characterized by the the following symptoms: High disk latency and Low IOPs & Throughput As MS PFE & fellow perf engineer Shane Creamer describes it, think of sucking your favorite adult beverage through a pinched straw….


sp_reset_connection Does NOT Reset TRANSACTION ISOLATION LEVEL: Unexpected Behavior By Design

I’ve long been an advocate of the best practice of explicitly setting the transaction isolation level in my scripts. At my old day job as an enterprise architect I mandated that along with SET NOCOUNT ON, the preamble for all SProcs explicitly must declare the appropriate transaction isolation level. In addition, all ad hoc queries…


Case Study: Part 1: CXPACKET Wait Stats & ‘max degree of parallelism’ Option: Introduction to Using Wait Stats to Identify & Remediate Query Parallelism Bottlenecks

This is the first of a four-part series: Introduction to Query Parallelism (this post) Flipping the Bit Expensive Query Identification & Remediation Summary Query Parallelism The SQL Server configuration option max degree of parallelism determines the maximum number of processors which can participate in query execution.  The default value is 0, allowing SQL Server to…


SQL Server: 4-Step Performance Troubleshooting Methodology–Introduction

Introduction: The Classic Protocol, Amended   Introduction My customers are often surprised to learn about the existence of a documented methodology for troubleshooting SQL Server performance.  Though the document is well-known, many customers fail to appreciate just how important it is.  The protocol was subsequently re-published in the most recent of the books from Kalen…