New features in T-SQL for SQL Server 2022
The first public preview of SQL Server 2022 is here! Read about my favorite T-SQL enhancements.
The first public preview of SQL Server 2022 is here! Read about my favorite T-SQL enhancements.
I take a look at some of the underlying changes in SQL Server 2022, as reflected in system metadata.
Today I received a mind-blowing award for my 200th tip at MSSQLTips.com.
My first technical job was taking horse bets at an off-track bar when I was 17.
In 2015, I wrote about a stored procedure to find strings within all tables across all user databases. In this follow-up tip, I enhance the procedure to optionally include views and search within specific databases.
Some quick notes on how easy it was to take advantage of falling Ryzen prices and give my Windows PC a little boost.
SQL Server 2019 Cumulative Update #16 is available, with 47 enhancements. The build number is 15.0.4223.1.
I show how to piece together portions of SQL Server metadata to generate DBML (which is more useful than it sounds).
I wrote two tips around what you can do when a table that stores the same strings over and over again has grown to an unmanageable size: create a dimension table!
I talk about why every CTE I write starts with a semi-colon, and why you won't change my mind about it.
A recent documentation update raises questions about the love-it-or-hate-it READ UNCOMMITTED isolation level.
SQL Server 2017 Cumulative Update #29 is available, with 18 enhancements. The build number is 14.0.3436.1.
I recently sat down with long-time friend Kevin Kline, who grilled me a little about my new role at Stack Overflow, our industry in general, and why we sometimes stay in jobs we don't enjoy.
In this tip I show how I combine GROUPING SETS and PIVOT to get crosstab-style reports without Excel.
In the second part of this series, I show two ways to shift expensive computations to write time.
I talk about progress in aggregating strings – both in the functionality offered by SQL Server and the quality of my own code samples.
In this tip I confirm that FORMAT is still a dog compared to even very complex expressions using CONCAT_WS, DATENAME, DATEPART, and CONVERT.
I was honored to be a guest on the most recent Mixed Extents podcast, along with my friend and colleague Andy Mallon, where we talked about patching SQL Server.
I harassed Erik Ejlskov Jensen enough to make me a universal command-line version of SqlQueryStress, and walk you through setting up a performance test between an Intel and M1 MacBook.
SQL Server 2019 Cumulative Update #15 is available, with 39 enhancements (35 public). The build number is 15.0.4198.2.
In this tip I show how indirect checkpoints can help improve performance and stability of more than just checkpoint operations themselves, and stifle some (but not all) problems. I conclude that you should proactively change this setting everywhere.
SQL Server 2017 Cumulative Update #28 is available, with 10 enhancements. The build number is 14.0.3430.2.
For T-SQL Tuesday #146, I talk about a couple of crazy ideas I had in my head about filtered indexes.
I show how I set up Azure SQL Edge in a Docker container on the new M1 MacBook.
See one way to use a queue table to spread out spiky, ad hoc deletes from a clustered columnstore index.
I recognize this year's recipient of my Community Influence of the Year award.
These functions aren't brand new, but they're in Azure SQL Database and Azure SQL Managed Instance, and they're coming to SQL Server 2022 soon.
I open up a new MacBook Pro M1 Max and note a few of my initial observations.
I show how I turned a country buffet of cables and external storage into an almost wire-free workspace.
SQL Server 2019 Cumulative Update #14 is available, with 38 enhancements (19 public). The build number is 15.0.4188.2.
See the new overloaded STRING_SPLIT() function with its enable_ordinal parameter, now available in an Azure SQL Database near you.
Every time I write a post about splitting strings, I promise myself it's the last one. I need to stop making that promise. In this tip, I show how I compared my previous favorite ordered splitting function to a different technique using OPENJSON().
I show one way to run arbitrary SQL against objects in an arbitrary database – using nested dynamic SQL.
In the midst of job change announcements throughout the SQL Server community, I have a little announcement of my own.
Using PowerShell calling nested dynamic SQL that drives a cursor, I show one way to collect information about queries with index hints both in the plan cache and in stored procedures, views, and other modules.
There are two fixes in this hotfix update package, involving FileTable and Change Tracking.
SQL Server 2017 Cumulative Update #27 is available, with 14 enhancements. The build number is 14.0.3421.10.
After seeing multiple people switch from STRING_SPLIT() to OPENJSON() to deal with multiple parameters, I decided to explore whether that is a change in the wrong direction.
I talk about NULLs in SQL Server, the logical issues with avoiding them, and potential performance impacts.
Updated this stored procedure I wrote a decade ago to search for a string in procedure bodies, object names, job steps, and more…
I talk a bit about bit columns: names with negative context, allowing NULLs, and using cryptic BITWISE operators instead of readable, self-documenting expressions.
For this month's T-SQL Tuesday, I talk about the scripts I use to keep a local system with all kinds of oddball metadata scenarios.
SQL Server 2019 Cumulative Update #13 is available, with 38 enhancements (19 public). The build number is 15.0.4178.1.
In this tip, I use specific examples to counter assumptions that data types are always case insensitive.
I talk about using partition switching to load in fresh versions of staging tables with the least impact to current users.
I made some landing pages here, with simple and easy-to-remember URLs, presenting sets of links to very frequently-discussed topics around SQL Server.
SQL Server 2017 Cumulative Update #26 is available, with 31 enhancements. The build number is 14.0.3411.3.
In this tip, I discuss one way to help avoid infinite loops in common while loop patterns.
In part 4, I show how to include ad hoc DML queries in the analysis.
In part 3, I tie it together and show how to use relational logic to further eliminate false positives.