I explain how indexed views helped resolve a highly contentious e-mail delivery system.
I share my own experience with page compression in a production environment.
I talked about how much still gets onto your system when you try installing Visual Studio as minimally as possible.
Entity-attribute-value (EAV) is often frowned upon in the community, but there are some scenarios where it is on the right end of the trade-off spectrum.
Two quick and dirty procedures I deployed globally to make it easier to find modules containing a given string.
Find out about several bad things you may not even realize you're doing to dates and times in your own databases.
See why you should avoid some of the GUI elements in Management Studio.
Let's talk about a few of the ways people abuse and misuse DML triggers in SQL Server.
Read about some of the pitfalls of choosing the wrong data type in SQL Server.
In this post, I discuss some of the assumptions people make about IDENTITY columns.
One of many posts where I rant about how bad we are, collectively, at naming things.
I talk about how painful SELECT * can be, and how it can be like drinking from a fire hose.
See why your stored procedures should use OUTPUT and SELECT for data, and use RETURN only for error or status codes.
I talk about problems that can result from "problematic" characters in entity names.
Find out why you should always specify lengths for declarations of variable types like varchar.
A little wisdom on using sensible and logical aliases for your tables, instead of a / b / c / d.
See a couple of reasons you should stop using old join syntax (FROM t1, t2
).
See a few alternatives to expensive loops for populating sample or sequential data.
See why you should always use alias or column names in your ORDER BY clauses, rather than ordinal position.
It happens all the time these days, but back then, I explained how we managed cluster nodes that didn't quite match.
Projects for War Child and Operation Smile, I wrote chapters for both MVP Deep Dives titles.
Read about why you want to use statement terminators throughout all of your T-SQL code.
In this post I try to give some practical advice for bloggers who struggle to come up with original content.
I dig a little deeper into Unicode compression.
A quick first look at Unicode compression, introduced in SQL Server 2008 R2.
Beyond just splitting a comma-separated list of integers, I explain custom delimiters, preventing duplicates, and maintaining order.
Back in the old days, I talked about how I used a numbers table to split comma-separated lists of integers.
I talk about how you can use the DMVs to predict when your maintenance will end.
While sometimes a shrink operation is necessary and intentional, reactionary shrinking to "save space" temporarily is a bad idea.
I explain how you can prevent customers from snooping on the names of other customers' databases (but nothing is foolproof).
The Resource Governor whitepaper I wrote with Boris Baryshnikov is finally available for download from MSDN.
Back when IntelliSense was first added to Management Studio, lots of people got stuck waiting for it to refresh.
I explain a couple of tactics to use when SSMS is not responding, hopefully to avoid losing work.
People have been lulled into the false sense of security that they can set up SQL Server, leave all the defaults in place, and never have to do anything.
As a "SQL Server guy" first and foremost, I often have to defend my use of a Mac. Here's my story.
A long, long time ago, I criticized Celko for being too harsh to new users.
Microsoft abandoned content and I tried to put together a selection of bad things people said about it.
Our data got messed up due to time drift. Here's how I fixed it.
Back before SQL Server 2012 was released, I wanted to highlight multiple problems exhibited through parallelism.
I show how to remove stale entries from the MRU drop-down in SSMS' "Connect To" dialog.