SQL Server

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
New columns in existing objects

New Objects, Columns, and Messages in SQL Server 2019 CTP 2.3

SQL Server 2019
6 Comments
Sure, there’s official documentation on what’s new in SQL Server 2019, but Microsoft’s notorious for slipping undocumented stuff in. Sometimes these new features become officially documented in subsequent preview builds, like CTP 2.2’s initial plumbing for Accelerated Database Recovery that went officially public in CTP 2.3, and other times they never see the light of…
Read More

SQL Server 2019 Result Set Caching?

SQL Server 2019
5 Comments
Friday’s new CTP 2.3 added a few new fields to sys.databases: But the highlighted one has me all tingly inside, kinda like the first time I heard Winona Ryders use the word “chainsaw” in a sentence. (Bonus points for readers who get that reference.) I don’t have any answers yet, folks. I just have questions.
Read More
Code smells

Which Version of SQL Server Should You Use?

SQL Server
157 Comments
Wait! Before you install that next SQL Server, hold up. Are you sure you’re using the right version? I know, management wants you to stay on an older build, and the vendor says they’ll only support older versions, but now’s your chance to make your case for a newer version – and I’m gonna help…
Read More

Fast Food Code

SQL Server
0
Cheap and Easy We’ve all done it. We all know what and where it is, because we’ve probably left a comment for ourselves to go fix it later. It wasn’t me, I swear to myself. Either it was expedient, it seemed to work locally, it was fast on a small amount of data, or we…
Read More