Discover some undocumented or unsupported behavior you might not even realize you're relying on.
Category: SQL Server
An index of over a decade's worth of posts and videos involving bad habits and best practices in SQL Server.
See a quick T-SQL script for determining how often Cinco de Mayo falls on Taco Tuesday.
I continue a series where I dig into how data is distributed across indexes, files, and filegroups.
I talk about a recent change where I started turning on indirect checkpoints across all user databases.
I finish up my series on replacing the default trace with views to simplify consumption and a caveat about reports in SSMS.
See the stored procedure I wrote to help me put all file, filegroup, and index information in one place.
I continue my series on replacing the default trace with a more efficient and more complete Extended Events session.
See a quick example where plan shape can cause errors that really shouldn't happen.
In this tip, see ways you can change how a function is called without having to modify all calling code at the same time.
Need to get data, log, or bak files into your container's file system? See how, with
I start a series explaining how I evaluated the default trace and decided to replace it with a slimmer Extended Events session across all of production.
See how you can use Extended Events to find your worst performing checkpoints.
In this tip, I talk about a concerning behavior in the dynamic management function, sys.dm_db_database_page_allocations.
I continue my series on large table compression with results from row and page compression as well as a process involving scheduler manipulation.
Find out about the replacement I wrote for the undocumented, unsupported, and ill-advised system procedure, sp_MSforeachdb.
In this tip, I show how soft deletes and a filtered index can help minimize the cost of ghost records in an Availability Group.
I continue my series on investigating compression for a 1TB table, honing in on clustered columnstore and partitioning.
I show how I tried to chase down a very unexpected issue with SQL Server metadata. Spoiler: it didn't end the way I thought it would.
Discover a simple way to keep your filtered indexes effective – even under forced parameterization.
Conventional wisdom has suggested that deletes should be batched, but in some cases this can actually take a lot longer.