5 handy Transact-SQL tips you may (or may not) know

September 23, 2016 by

Introduction Even if you are a SQL veteran, actually especially if you are, you sometimes get really stuck doing something in the old way not realizing that in newer versions of SQL Server some handy functions have been added that can make your life easier. In this article, I will mention a couple of these […]

SQL Server 2016 Trace flags modifications

August 9, 2016 by

SQL Server Trace Flags are special switches that are used to customize and control specific behaviors of the SQL Server Engine. Trace Flags can be defined in two forms; Session Trace Flags that are activated and visible at the current connection level only, and Global Trace Flags that are enabled and visible at the SQL […]

Measuring Availability Group synchronization lag

August 9, 2016 by

With all of the high-availability (HA) and disaster recovery (DR) features, the database administrator must understand how much data loss and downtime is possible under the worst case scenarios. Data loss affects your ability to meet recovery point objectives (RPO) and downtime affects your recovery time objectives (RTO). When using Availability Groups (AGs), your RTO […]

Top 5 T-SQL functions introduced in SQL Server 2016

August 1, 2016 by

One of the exciting things to look out for in a release of SQL Server are the new built-in T-SQL functions that are usually introduced. Some of the reasons for the new functions may be because SQL Server is catching up to other competitors, attempting to stay ahead of the competition or simply responding to […]

PREEMPTIVE_OS_WRITEFILEGATHER

July 6, 2016 by

Description Occurs while SQL Server is waiting for the Operating System to complete portions of write operations. This wait is commonly seen in databases with auto-growth not configured appropriately. Small values are expected. Excessive values should be investigated Resolved by DBAs and Developers Suggested solutions Enable Perform Volume Maintenance Tasks to avoid zero-initialisation for data […]

PREEMPTIVE_OS_FLUSHFILEBUFFERS

July 5, 2016 by

Description Occurs while SQL Server is waiting for the Operating System to flush file buffers to disk. This wait is commonly seen in databases with auto-growth not configured appropriately. Small values are expected. Excessive values should be investigated Resolved by DBAs and Developers Suggested solutions Increase the auto-growth from the default (less frequent growths) Investigate […]

OLEDB

July 5, 2016 by

Description Accumulates while SQL Server is using the OLE DB (as opposed to ODBC). It is common to see this wait type on instances hosting Linked Servers. OLE DB is also used in Bulk Insert, the Full Text engine and within SQL Server Management Studio Resolved by DBAs and Developers Suggested solutions Ensure that Linked […]

Efficient creation and parsing of delimited strings

July 5, 2016 by

Description Converting a delimited string into a dataset or transforming it into useful data can be an extremely useful tool when working with complex inputs or user-provided data. There are many methods available to accomplish this task; here we will discuss many of them, comparing performance, accuracy, and availability!

LCK_M_RX_X_LOW_PRIORITY

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_LOW_PRIORITY

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 […]