SQLCMD: Prevent an Entire Batch From Even Parsing With One Magical Character (Cruel Joke #4)

(last updated: 2021-09-01 @ 14:18 ET / 2021-09-01 @ 18:18 UTC ) In my previous post, SSMS and SQLCMD: Prevent T-SQL Batch From Not Only Executing, but Also From Parsing (Cruel Joke #3), I talked about voiding an entire query batch in SQL Server Management Studio (SSMS), the sqlcmd utility, and Visual Studio. I discovered… Continue reading SQLCMD: Prevent an Entire Batch From Even Parsing With One Magical Character (Cruel Joke #4)

SSMS and SQLCMD: Prevent T-SQL Batch From Not Only Executing, but Also From Parsing (Cruel Joke #3)

(last updated: 2021-08-13 @ 19:50 ET / 2021-08-13 @ 23:50 UTC ) In a previous post, Prevent Full Script Execution (Understanding and Using PARSEONLY and NOEXEC), I explained how to easily disable a script using the PARSEONLY session setting. That same method can be used to disable one or more sections within a script instead… Continue reading SSMS and SQLCMD: Prevent T-SQL Batch From Not Only Executing, but Also From Parsing (Cruel Joke #3)

Is the [sysname] SQL Server System Data Type Alias Name Case-Insensitive?

(last updated: 2021-07-05 @ 14:00 EST / 2021-07-05 @ 18:00 UTC ) The sysname data type (in SQL Server) is a system-provided, though not built-in, alias for NVARCHAR(128). This alias is used for nearly all identifiers (i.e. names of tables, columns, indexes, databases, logins, etc.), starting in SQL Server 7.0 (for a full list of… Continue reading Is the [sysname] SQL Server System Data Type Alias Name Case-Insensitive?

SQL Server Collations: What does “CP1” mean in “SQL_Latin1_General_CP1_CI_AS”?

(last updated: 2021-12-11 @ 18:00 EST / 2021-12-11 @ 23:00 UTC ) Many of us that work with Microsoft SQL Server, especially those of us working on systems with US English as the OS language, or anyone working with SQL Server Express LocalDB (commonly referred to as just “LocalDB”), have had to deal with the… Continue reading SQL Server Collations: What does “CP1” mean in “SQL_Latin1_General_CP1_CI_AS”?

SSMS: Prevent Copy and Paste of Text in “Messages” tab (Cruel Joke #2)

An invisible character is all it takes to have a little fun 🙃

Presenting at “Data Architecture Day” this Saturday (May 16th) at 4:10 PM EDT

Presenting about Module Signing at "Data Architecture Day" this Saturday (May 16th) at 4:10 PM EDT

sys.xp_delete_files and ‘allow filesystem enumeration’: two new undocumented items in SQL Server 2019

sys.xp_delete_files and 'allow filesystem enumeration': two new undocumented items in SQL Server 2019

Actual Difference Between EXISTS(SELECT 1 …), EXISTS(SELECT * …), and EXISTS(SELECT column …)

Is EXISTS(SELECT 1 ...) better than EXISTS(SELECT * ...)? Who would know better than SQL Server?

How Many Bytes Per Character in SQL Server: a Completely Complete Guide

A Completely Complete Guide to how many bytes are used to represent characters in the T-SQL string datatypes

Feature Restrictions in SQL Server 2019 are Worse Than Useless: a False Sense of Security And Wasted Opportunity (Msg 16305, Msg 16309, VA1145)

A misguided attempt to improve security that not only increases the chances of SQL Injection, but also prevented useful changes from being made.