2016
Memory limits in SQL Server 2016 SP1

I explain a few details about the memory limits in SQL Server 2016 Service Pack 1 that make this upgrade even more compelling.

A BIG DEAL: SQL Server 2016 Service Pack 1

Microsoft has made a bold change with SQL Server 2016 Service Pack 1 : Many Enterprise features are now available in lower editions. Read on for details.

Cleaning up the master database

We've all accidentally placed objects in master. In this tip, I show how you can clean it up a little.

Avoid ORDER BY in views

I explain why you shouldn't bother adding ORDER BY to views in SQL Server.

T-SQL Tuesday #80: CREATE OR REPLACE

I submit a wish list item for the 80th T-SQL Tuesday: CREATE OR REPLACE, a cleaner way to deploy objects without losing permissions.

Paying attention to estimates

I follow up on a recent post about DATEFROMPARTS() with a deeper look into the estimates and potential mitigation techniques.

#BackToBasics: DATEFROMPARTS

I continue my #EntryLevel challenge, discussing DATEFROMPARTS() and similar functions introduced in SQL Server 2012.

STRING_SPLIT: Follow-up #2

With additional tests comparing splitting techniques to TVPs, I round out my series on STRING_SPLIT() in SQL Server 2016.

STRING_SPLIT: Follow-up #1

I follow up on a recent post about the performance of STRING_SPLIT() with a few additional reader-motivated tests.

Performance surprises: DATEADD

I explore yet another scenario where a date/time function seems to cause the optimizer to behave unexpectedly.

Performance surprises: STRING_SPLIT

SQL Server 2016 RC0 introduces a new native string splitting function, STRING_SPLIT; I compare its performance to existing methods.

Pin the blame on the query

A recent Visual Studio outage has been largely blamed on the cardinality estimator, but I think the query itself has a share of the blame.

Widening an IDENTITY column – Part 1

As part of a new series, I take a look at what happens to the structure of a page when an INT column needs to be upsized to a BIGINT.