SQL Server Internals Conference

Session Schedule

Session Speaker Level Length
Parallelism in Microsoft SQL Server Torsten Strauß 400 75m

Parallelism in Microsoft SQL Server

SQL Server can execute queries in parallel which can sometimes improve the performance of your queries. However, parallelism has its own challenges; therefore, we will look at the concept of parallel executions to understand when it makes sense to run a query on more than one thread. We deal with topics such as CXPacket, threads, workers, execution context, branches, MAXDOP, Cost threshold for parallelism, NUMA nodes and the iterators that SQL Server can implement in the execution plan to enable parallelism.

"Black Arts" Index Maintenance - GUIDs v.s. Fragmentation - They're not the problem... WE ARE! Jeff Moden 8192 75m

"Black Arts" Index Maintenance - GUIDs v.s. Fragmentation - They're not the problem... WE ARE!

This is NOT your typical presentation on the fragmentation problems of Random GUIDs. No… Instead we’re going to DESTROY THE MYTH OF RANDOM GUID FRAGMENTATION.

In one of the most ironic/heterodoxical turns of knowledge you’re ever likely to experience, we’ll see how THE USE OF RANDOM GUIDS CAN ACTUALLY PREVENT FRAGMENTATION! In the end, you’ll witness the results of some simple testing that clearly demonstrate that you can easily insert literally MILLIONs of rows into a Random GUID clustered index with almost no page splits (not even supposed “good” ones) and LESS THAN 1% Logical fragmentation!

We’ll identify the real problem and the seriously effective yet incredibly simple two-part fix for it. In the process, we’ll prove that Random GUIDs actually behave in a manner like most people expect a good index to behave, especially in but not limited to high performance OLTP environments as well as the benefits of doing so.

We’ll also learn how to use a new tool that I created (included in the ZIP file) to ACTUALLY SEE what an index looks like at the page level for all pages in a single graph.

Then, we’ll use that tool to lay waste to what people are currently calling “Best Practice” index maintenance. We’ll literally see what REORGANIZE does to an index at the page level and why it’s one of the very worst things you can do to your Random GUID and many other types of indexes even if you’re limited to the Standard Edition of SQL Server. We also prove that REORGANIZE CAUSES ORDERS-OF-MAGNITUDE WORSE TRANSACTION LOG FILE USAGE than REBUILD especially for Random GUIDs.

As interesting and totally necessary sidebars, we'll also see how the use of ever-increasing index keys could be (and frequently is) a major source of many of your fragmentation problems and we’ll also see that NEWSEQUENTIALID may NOT the answer that you’re looking for.

How does SQL Server store that data type? Randolph West 500 75m

How does SQL Server store that data type?

If you've ever been curious about how each data type looks on your storage subsystem, this is the session for you. We'll step through each data type, and how the hex looks at the storage layer.

You will understand why certain data types are better choices than others. I'll show you a few surprises, and settle an old score with DATETIME.

Breaking out the hex editor might automatically qualify this as a 500-level session depending on your appetite for nerdy goodness, plus you should be able to use this information for data recovery (like I have).

Inside SQL Waits, Latches, and Spinlocks Bob Ward 400 75m

Inside SQL Waits, Latches, and Spinlocks

Dive into the internals of waits in SQL Server including latches and spinlocks. In this session, you will learn how SQL Server implements waits, how you can monitor and troubleshoot waits, and a deep dive into specific common wait types. This session will include new wait types specific to Azure SQL. This session is not for the faint of heart as it will be fast and furious. The session will include plenty of demos and back by popular demand the use of the Windows Debugger to peek inside how waits are truly implemented in SQL Server!

Deep Dive: SQL Server on Azure Virtual Machine Storage Pam Lahoud 300 75m

Deep Dive: SQL Server on Azure Virtual Machine Storage

Optimizing Virtual Machine storage is one of the most critical areas to master when considering a migration to Azure SQL Virtual Machine. You may be an expert when it comes to optimizing storage for SQL Server on-prem, but when you get to Azure, it's a whole different ballgame. In this session we demystify storage in Azure and how VM sizing and disk configuration will impact performance limits. We will cover what you should consider when choosing Azure disks and Storage Spaces configuration to maximize your price-performance. Get ready, this is one of the most important sessions to get the best performance (at the best price) out of your Azure virtual machine deployment!