Skip to content
Home » Learn

Learn

Resolving and Preventing Deadlocks in SQL Server

Deadlocks in SQL Server can be frustrating and can cause significant performance and reliability issues. A deadlock occurs when two or more transactions are waiting for each other to release a lock on a resource, resulting in a situation where no transaction can proceed, and eventually, one of them is automatically killed and rolled back. This can happen when two transactions try to access the same data in a different order or when one transaction holds a lock on a resource while waiting for a lock held by another transaction. In this blog post, we’ll discuss how to troubleshoot and prevent deadlocks in SQL Server.

Read More »Resolving and Preventing Deadlocks in SQL Server

Incremental Integrity Check for Large Databases

Traditional database integrity checks in SQL Server can be time-consuming and resource-intensive, especially for large databases, even when using super cool tools like Ola Hallengren’s maintenance solution.

To address this challenge, I developed a TSQL script for performing incremental integrity checks, which significantly optimizes the process and reduces its impact on the server.

Read More »Incremental Integrity Check for Large Databases

SQL Server Index Mastery: Choosing the Right Column Order

It’s been a while since my last post about SQL Server performance optimization. This one focuses on index design and how the order of columns in your indexes can make or break your database queries. Using my insights from real-world consulting experience, this guide should help you understand the critical decisions that would impact your database performance.

How does SQL Server decide where to look first when executing a query? The answer lies in the structure of your indexes. Learn how the sequence of key columns can optimize your data retrieval, making your database faster and more responsive.

Read More »SQL Server Index Mastery: Choosing the Right Column Order

I’m speaking at the Data.TLV Summit 2023 in Israel

[EDIT] Due to the current ongoing situation between Israel and Palestine, the event was delayed to February 2024. For more details, please refer to the official Data TLV Summit website.

The Data TLV Summit in Israel is the single most biggest, largest, most amazingest annual summit in Israel for data enthusiasts, made by the community, for the community. The summit is taking place on November 2, 2023, and I will be delivering my most popular session there: Development Lifecycle Basics for DBAs!

Read More »I’m speaking at the Data.TLV Summit 2023 in Israel

Understanding ‘ALTER TABLE SWITCH statement failed’ errors 4907, 4908, and 4912

Recently we’ve encountered an interesting use case for a customer.

They had a table with partitioning that they needed to be archived (with the help of said partitioning), but the ALTER TABLE SWITCH commands were failing with a peculiar error:

Error 4907, ‘ALTER TABLE SWITCH’ statement failed. The table ‘MyDB.dbo.PrtTable1’ has 4 partitions while index ‘IX1’ has 6 partitions.

This prompted some insightful research into some of the validations done by SQL Server behind the scenes when executing an ALTER TABLE SWITCH command.

Read More »Understanding ‘ALTER TABLE SWITCH statement failed’ errors 4907, 4908, and 4912