SQL Server

[Video] What Percent Complete Is That Index Build?

SQL Server 2017 & newer have a new DMV, sys.index_resumable_operations, that show you the percent_completion for index creations and rebuilds. It works, but…only if the data isn’t changing. But of course your data is changing – that’s the whole point of doing these operations as resumable. If they weren’t changing, we could just let the operations…
Read More

SQL Server Doesn’t Encrypt Data By Default.

SQL Server
27 Comments
Create a table and insert a couple of rows: Then back up the database without using compression, and open up the backup file with a hex editor: The same trick works on the data file, too. That’s it. That’s all. That’s the post. Look, not every post is groundbreaking: sometimes it’s just about writing down…
Read More

SQL Server 2019 is out…now.

SQL Server 2019
7 Comments
After just one release candidate, Microsoft has decided it’s ready to go, apparently! Well, kinda: the official build in the release notes is 15.0.2000.5, and there’s already a “servicing update” to 15.0.2070.41. I’m not sure I wanna know what’s going on there. Anyhoo, SQL Server 2019 is available for download now. This also means it’s…
Read More
In-Memory Multi-Version Concurrency Control

Research Paper Week: In-Memory Multi-Version Concurrency Control

SQL Server
3 Comments
If you’ve been doing performance tuning for several years, or graduated from my Mastering Server Tuning class, you’ve come across Read Committed Snapshot Isolation, aka RCSI, aka multi-version concurrency control, aka MVCC, aka optimistic concurrency. It’s not the way SQL Server ships by default, although it is the default for Azure SQL DB, and it’s part…
Read More
Data Driven Podcast

Podcast: Data Driven Inteview w/Me

SQL Server
0
I had the pleasure yesterday of spending an hour chatting with Andy Leonard and Frank La Vigne for the Data Driven podcast. Some of the questions they asked me include: How did you find your way into data? What’s your favorite part of your current gig? Complete this sentence: when I’m not working, I enjoy…
Read More
Brent Reading Book

Poll: what’s in your development database?

SQL Server
When the developers at your company are working on building an app, where do they work? Production, a development database restored from production, or a development database with made-up contents? One-question poll, and you can watch the live results. I’ll post the results and my thoughts on Friday. I know what I see regularly out…
Read More
Froid

Finding Froid’s Limits: Testing Inlined User-Defined Functions

This week, I’ve been writing about how SQL Server 2019’s bringing a few new features to mitigate parameter sniffing, but they’re more complex than they appear at first glance: adaptive memory grants, air_quote_actual plans, and adaptive joins. Today, let’s talk about another common cause of wildly varying durations for a single query: user-defined functions. Scalar…
Read More
1 query, 3 parameters, 3 different plans

Parameter Sniffing in SQL Server 2019: Adaptive Joins

So far, I’ve talked about how adaptive memory grants both help and worsen parameter sniffing, and how the new air_quote_actual plans don’t accurately show what happened. But so far, I’ve been using a simple one-table query – let’s see what happens when I add a join and a supporting index: Transact-SQL CREATE INDEX IX_OwnerUserId_Includes ON…
Read More