2021 : Community Influencer of the Year
I recognize this year's recipient of my Community Influence of the Year award.
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.
For this month's T-SQL Tuesday, TJay Belt asks us to talk about how we manage work/life balance.
SQL Server 2019 Cumulative Update #12 is available, with 40 enhancements (29 public). The build number is 15.0.4153.1.
In part 2, I show how to identify problematic NOLOCK patterns across multiple databases and multiple instances.
I start a new series on identifying and removing problematic NOLOCK hints from update and delete statements.
In this tip, I show how you can evaluate a new index option in SQL Server 2019 aimed at reducing PAGELATCH_EX waits: OPTIMIZE_FOR_SEQUENTIAL_KEY.
For T-SQL Tuesday #140, Anthony Nocentino asks us what we have been up to with containers.
SQL Server 2017 Cumulative Update #25 is available, with 19 enhancements. The build number is 14.0.3401.7.
I explain why you should eliminate the data types text, ntext, and image from your environment.
After thinking setting up SQL Server 2019 on CentOS 7.5 was going to be a piece of cake, I explain how my team helped resolve a TLS issue preventing remote connections.
For the last part in my series on using a calendar table, and with some help from Itzik Ben-Gan, I describe how you can solve complex scheduling problems.
SQL Server 2019 Cumulative Update #11 is available, with 62 enhancements. The build number is 15.0.4138.2.
SQL Server 2017 Cumulative Update #24 is available, with 30 enhancements. The build number is 14.0.3391.2.
In this part of my "using a calendar table" series, I talk about filling gaps and identifying gaps and islands.
It seems a lifetime ago I wrote about creating a calendar table; now I've started a new series showing how to use the calendar table. In the first installment, I deal with business day problems.
SQL Server 2019 Cumulative Update #10 is available, with 63 enhancements. The build number is 15.0.4123.1.
A not exactly innovative post about using Temporal Tables functionality to automatically update a LastModified column.
SQL Server 2016 SP2 Cumulative Update #17 is available, with 20 enhancements. The build number is 13.0.5888.11.
I use a real-world example showing why you shouldn't use deprecated functionality like SQL Server Profiler.
For this month's T-SQL Tuesday, I talk about my two least favorite data types: money
and datetimeoffset
.
In this tip, I talk about cases where SQL Server will interpret YYYY-MM-DD as YYYY-DD-MM, which is less than optimal.
I talk about one scenario where the system table sys.sysprocesses
almost led us down the wrong path.
After seeing this question pop up on forums multiple times, I wrote a quick tip about enforcing unique constraints where order doesn't matter.
SQL Server 2019 Cumulative Update #9 is available, with 140 enhancements. The build number is 15.0.4102.2.
After a question on #sqlhelp, I dug into what could be making sys.partitions slow, and how they might get the required information in a more efficient way.
While I previously promoted a way to stop storing database name in your Extended Events sessions, there's an upside to collecting it: the ability to filter. Read on for more info.