LCK_M_RIn_X_ABORT_BLOCKERS

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Exclusive lock with the low priority options added in SQL Server 2014. This mechanism acquires locks on a subset of rows in an index but only when the transaction isolation SERIALIZABLE is used. An exclusive lock typically occurs when read […]

LCK_M_RIn_X

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Exclusive lock. This mechanism acquires locks on a subset of rows in an index but only if the transaction isolation SERIALIZABLE is used. An exclusive lock typically occurs when read and modify requests are blocked by another write transaction (implicit […]

LCK_M_RIn_U_LOW_PRIORITY

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Update lock with the low priority options added in SQL Server 2014. This mechanism acquires locks on a subset of rows in an index but only when the transaction isolation SERIALIZABLE is used. An update lock typically occurs when read […]

LCK_M_RIn_U_ABORT_BLOCKERS

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Update lock with the low priority options added in SQL Server 2014. This mechanism acquires locks on a subset of rows in an index but only when the transaction isolation SERIALIZABLE is used. An update lock typically occurs when read […]

LCK_M_RIn_U

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Update lock. This mechanism acquires locks on a subset of rows in an index but only if the transaction isolation SERIALIZABLE is used. An update lock typically occurs when read and modify requests are blocked by another write transaction (implicit […]

LCK_M_RIn_S_LOW_PRIORITY

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Share lock with the low priority options added in SQL Server 2014. This mechanism acquires locks on a subset of rows in an index but only when the transaction isolation SERIALIZABLE is used. A share lock typically occurs when read […]

LCK_M_RIn_S

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Share lock. This mechanism acquires locks on a subset of rows in an index but only if the transaction isolation SERIALIZABLE is used. A share lock typically occurs when read requests are blocked by another transaction (implicit of explicit) that […]

LCK_M_RIn_NL_LOW_PRIORITY

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Null lock with the low priority options added in SQL Server 2014. This mechanism acquires locks on a subset of rows in an index but only when the transaction isolation SERIALIZABLE is used. A null lock is used internally and […]

LCK_M_RIn_NL_ABORT_BLOCKERS

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Null lock with the low priority options added in SQL Server 2014. This mechanism acquires locks on a subset of rows in an index but only when the transaction isolation SERIALIZABLE is used. A null lock is used internally and […]

LCK_M_BU_LOW_PRIORITY

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire an Bulk Update lock with the low priority options added in SQL Server 2014. These locks are required to protect the object during bulk copy (eg WITH TABLOCK on bcp, SSIS or BULK INSERT commands). This wait typically occurs when requests are blocked by […]

LCK_M_RIn_S_ABORT_BLOCKERS

July 5, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Share lock with the low priority options added in SQL Server 2014. This mechanism acquires locks on a subset of rows in an index but only when the transaction isolation SERIALIZABLE is used. A share lock typically occurs when read […]

LCK_M_BU_ABORT_BLOCKERS

July 4, 2016 by

Description This wait occurs when a request is waiting to acquire an Bulk Update lock with the low priority options added in SQL Server 2014. These locks are required to protect the object during bulk copy (eg WITH TABLOCK on bcp, SSIS or BULK INSERT commands). This wait typically occurs when requests are blocked by […]

LCK_M_BU

July 4, 2016 by

Description This wait occurs when a request is waiting to acquire a bulk update lock. These locks are required to protect objects during bulk import operations (e.g. WITH TABLOCK on bcp, SSIS or BULK INSERT commands). This wait typically occurs while requests are blocked by bulk import operations Resolved by DBAs and Developers Suggested solutions […]

Temporal tables – SQL Server

July 4, 2016 by

What is a temporal table? Temporal tables give us the possibility to retrieve data from any point in the past and for every data change (Update, Delete, Merge). With temporal table users can recover data from accidental changes (update/delete) as well as audit all changes to data, etc. Temporary table is a new feature in […]

Format DBMail with HTML and CSS

June 23, 2016 by

Background In my organization, the developers send a lot of database generated emails for informational purposes to ensure that everything in the system is still working 100%.We can call them production messages. Normally the way the email is presented is not important as it is only meant for the developer to help with system health […]

LCK_M_RIn_NL

June 14, 2016 by

Description This wait occurs when a request is waiting to acquire a Key Range Insert Null lock. This mechanism acquires locks on a subset of rows in an index but only if the transaction isolation SERIALIZABLE is used. A null lock is used internally and is not documented by Microsoft. Values in this type are […]

Querying remote data sources in SQL Server

June 10, 2016 by

A common activity when writing T-SQL queries is connecting to local databases and processing data directly. But there will be situations in which you need to connect to a remote database that is located in a different instance in the same server or in a different physical server, and process its data in parallel with […]

Useful DBCC log commands

June 1, 2016 by

Background When we’re architecting or troubleshooting issues in an environment, understanding how the log is set up and its history helps us identify if improving it will carry significant impacts overall. We have some built in tools that we can use, such as DBCC LOGINFO and DBCC SQLPERF and in this tip we look at […]

Creating the perfect schema documentation script

May 27, 2016 by

Description System views allow us to gain access to information about any objects within SQL Server, from tables to extended properties to check constraints. This information can be collected and used for many purposes, one being the need to document our objects without the need to click endlessly in the GUI or to incur an […]

Monitoring changes in SQL Server using change data capture

May 27, 2016 by

Background In multi-user environments, changes may occur frequently to the architecture, data, or overall structure that creates work for other users. In this series, we look at some ways that we can track changes on the data and architecture layer for pin-pointing times, changes, and using the information for alerting, if changes should be kept […]

Introducing schema documentation in SQL Server

May 25, 2016 by

Description We often have a need to view object definitions in SQL Server, whether they be tables, triggers, or foreign keys. The built in tools are great for an object here and there, but are very cumbersome if you’re looking to generate create statements for a large number of objects.

Some replication architecture errors and their resolutions

May 16, 2016 by

Background From time to time, I’ve run into replication issues in inherited environments that I did not architect and some of these environments experienced errors in replication because of how it was constructed from the beginning. In this tip, we look at some of the basics in replication architecture and then at solving some of […]