I've stopped supporting ancient versions of SQL Server, and you should, too. I've cleaned up a lot of old, no longer relevant information.
I reveal details about the changes to Availability Groups that will ship in SQL Server 2016.
I highlight a handful of Connect items aimed at improving SQL Server showplan diagnostics and query tuning in general.
I walk through a solution that allows you to achieve some of the benefits of partitioning, without the Enterprise Edition price tag.
I share a few of the queries I use to quickly hone in on changes that have been implemented between SQL Server CTPs.
I list out the changes to In-Memory OLTP ("Hekaton") that will make the feature even more appealing in SQL Server 2016.
Tip : Phase out CONTEXT_INFO() in SQL Server 2016 with SESSION_CONTEXT()
I highlight three Connect items that will address some pretty important shortcomings in SQL Server statistics.
For this T-SQL Tuesday, I treat some of the most memorable data modeling sins from over the years.
I show some interesting maintenance opportunities for Service Broker queues available in SQL Server 2016.
I talk about new arguments to SERVERPROPERTY() that make @@VERSION even more obsolete (and changes that make @@VERSION problematic).
I show how to map all of those CONVERT style numbers to specific formats.
I show the most efficient way to return a grouped running MAX or MIN.
In this tip, I dynamically generate msiexec /x
commands to use when add/remove programs fails.
I explain how SQL Server 2016 improves tempdb configuration and performance.
Tip : Search all string columns in all SQL Server databases
I add a few tidbits to follow up on a popular post on default cursor options in SQL Server.
Tip : SQL Server 2016 Row Level Security Limitations, Performance and Troubleshooting
Tip : Understand the Limitations of SQL Server Dynamic Data Masking
I follow up on Always Encrypted posts from T-SQL Tuesday with improved code and more information on performance and space usage.
Tip : Identify Candidate Tables for Stretch Databases
I investigate the observable overhead involved with using a new SQL Server 2016 security feature, Always Encrypted.
For this T-SQL Tuesday, I talk about a few of the limitations of Always Encrypted.
I discuss a couple of potential problems that can occur when you are inconsistent about case sensitivity.
These two things stop me in my tracks whenever I try to install SQL Server on a new VM.
Tip : Prepare for an Upgrade with the SQL Server 2016 Upgrade Advisor
I suggest a different approach to providing more data about service packs and cumulative updates than messing with @@VERSION.
I look at the tempting All Features With Defaults installation choice for this T-SQL Tuesday.
I share the settings file for the dark theme I use for presentations in SQL Server Management Studio (SSMS).
I compare multiple date formatting techniques, demonstrating again that FORMAT() is not worth the convenience.
A new feature introduces function statistics very similar to what we've had for procedures for ages.
For T-SQL Tuesday #67, I describe a new way to track backup and restore operations using Extended Events in SQL Server 2016.
I take a quick look at a couple of things you should be careful about when calling natively-compiled Hekaton stored procedures in SQL Server 2014.
Tip : Protecting Yourself from SQL Injection in SQL Server – Part 2
Tip : Protecting Yourself from SQL Injection in SQL Server – Part 1
For T-SQL Tuesday, I discuss undocumented trace flags that provide additional diagnostics to troubleshoot slow backup or restore operations.
I walk through some of the new JSON-related Transact-SQL functionality that will be available in SQL Server 2016.
Tip : Convert Existing SQL Server Traces to Extended Events Sessions
For T-SQL Tuesday< #65, I give a little detail on something I learned this week about altering a column from NOT NULL to NULL.
A little advice on the use of MDF/LDF files for backups.