Error -2068643839 / 1602 Installing msoledbsql.msi, msodbcsql.msi, and sqlncli.msi for SQL Server 2019 (CTP or RTM)

Installing SQL Server 2019 CTP 2.5 fails with almost no useful info. Searching on code or message finds nothing. This post fixes that 😎

Can a Certificate’s Private Key be Imported / Restored From a Binary Literal / Hex Bytes ?

Can a Certificate's Private Key be Restored From a Binary Literal / Hex Bytes? The Documentation Says, "No". What Does SQL Server Say?

SSMS Tip #3: Easily Access/Research ALL Unicode Characters (Yes, Including Emojis 😸)

Learn how to get a list of all Unicode characters to copy and paste, or use in queries / web pages / programs, or search by value, etc.

Uppercase All String Columns (and in a Single Query!)

Have you ever wanted to uppercase all string columns in a database? Probably not. But, this was still an interesting exercise 🙃

Differences Between the Various Binary Collations (Cultures, Versions, and BIN vs BIN2)

Come explore the actual differences between the seemingly not-so-different binary collations...

Cruel Joke: Prevent SQL Server From Starting, and With (Almost) No Indication Why

Come see how to prevent SQL Server from starting, and in an easy-to-fix-yet-impossible-to-find way! 😈

What Does the Undocumented UNCOMPRESS Function Do?

Ever notice how IntelliSense in SSMS lists functions that don't work or aren't documented? Here's documentation for one that works: UNCOMPRESS

How Does DBCC CHECKIDENT Really Work When Resetting the Identity Seed (RESEED)?

Does resetting an Identity Seed to a specific value via DBCC CHECKIDENT(..., RESEED, new_seed_value) work the way the documentation states? It depends 🙃

Beware! Beware of Unintended Changes When Altering Columns!

Beware of big green dragons, er, well, of unexpected changes when changing a column's datatype. You might be unpleasantly surprised! 🙀 Beware!

Prevent Full Script Execution (Understanding and Using PARSEONLY and NOEXEC)

Have you ever needed to prevent an entire script (or part of one) from executing? See how the session-level options PARSEONLY and NOEXEC can accomplish this.