User Defined Types and Temp Tables Gotcha

This tripped me up a few weeks ago, but once I stopped and thought about for a moment it made total sense. I was trying to copy some data into a temp table and got an error I’d never encountered before.

Column, parameter, or variable #1: Cannot find data type MyStringType.

What’s that all about? Let’s find out.

Continue reading “User Defined Types and Temp Tables Gotcha”

Modernizing Your T-SQL: Trimming Strings

This is one of several posts on modernizing T-SQL code with new features and functionality available in SQL Server.

Last year, you finally retired the last of your SQL Server 2008R2 instances. Congratulations! But are you taking advantage of everything that your new instances have to offer? Unless you did a review of all of the T-SQL in your applications, I’m guessing not.

This one seems pretty basic, but it’s got a trick up its sleeve – the TRIM() function.

Continue reading “Modernizing Your T-SQL: Trimming Strings”

Modernizing Your T-SQL: The Sequence Object

This is one of several posts on modernizing T-SQL code with new features and functionality available in SQL Server.

Last year, you finally retired the last of your SQL Server 2008R2 instances. Congratulations! But are you taking advantage of everything that your new instances have to offer? Unless you did a review of all of the T-SQL in your applications, I’m guessing not.

Let’s take a look at the SEQUENCE object, introduced with SQL Server 2012.

Continue reading “Modernizing Your T-SQL: The Sequence Object”

Modernizing Your T-SQL: String Aggregation

This is another in a group of several posts on modernizing T-SQL code with new features and functionality available in SQL Server.

SQL Server 2016 gave us the STRING_SPLIT() function, but what about the reverse – compiling a set of values into one delimited string? We only had to wait 15 months for the release of SQL Server 2017, and the STRING_AGG() function.

Continue reading “Modernizing Your T-SQL: String Aggregation”

Modernizing Your T-SQL: Splitting Strings

This is the first of several posts on modernizing T-SQL code with new features and functionality available in SQL Server.

Last year, you finally retired the last of your SQL Server 2008R2 instances. Congratulations! But are you taking advantage of everything that your new instances have to offer? Unless you did a review of all of the T-SQL in your applications, I’m guessing not.

At one time or another, we all find ourselves having to do some string parsing, especially splitting strings on a delimiter. Nearly all of us have one (or two or a dozen) functions for doing this somewhere on every instance of SQL Server. But since SQL Server 2016, we’ve had an official way to do it – the STRING_SPLIT() function.

Continue reading “Modernizing Your T-SQL: Splitting Strings”

Q&A: Dealing with Thousands of Databases

This is part one of a three-part series.

I’ve mentioned in various places, including in blog posts on occasion, that my production SQL Server instance hosts several thousand (nearly 9000 as of this writing) databases. People are usually surprised to hear this and it often leads to interesting conversation.

Continue reading “Q&A: Dealing with Thousands of Databases”