Monitoring SQL Server Deadlocks – the easy way

February 21, 2017 by

SQL Server is a very powerful tool and wherever I go, I see the tool being way much underutilized. Some people even don’t know about the features which are already in the SQL Server and they have not used it, like SQL Server Extended Events. Though, Extended Events is a way more complex and detailed […]

Are SQL Server database triggers evil?

January 25, 2017 by

Introduction There is a lot of talk about how bad triggers are, how you should never use them, etc. I wanted to spend some time reviewing fact vs fiction and do an objective analysis of SQL Server database triggers (both DDL and DML), warts and all. We will review alternatives and compare them with triggers […]

SQL Server 2016 Always On Availability Group with Direct Seeding

January 12, 2017 by

SQL Server Always On Availability Groups are an enterprise-level high-availability and disaster-recovery feature introduced the first time in SQL Server 2012as an alternative to database mirroring. A set of user databases that fail over together forms the availability group. These availability databases are hosted by the availability replicas and can be readable- writable at the […]

XE_LIVE_TARGET_TVF

July 6, 2016 by

Description This wait type accumulates while Extended Events are being monitored using the Live View feature. As this feature is used for ad-hoc monitoring high values are generally safe to ignore Resolved by DBAs Suggested solutions Safe to ignore Additional research Extended Events: View Event Session Data ⇐ Back to index

THREADPOOL

July 6, 2016 by

Description Caused by lack of available threads, this can occur in periods of high CPU utilization particularly when parallelism is involved, excessive blocking and excessive database mirrors or Availability Group Replicas Resolved by DBAs Suggested solutions Run Profiler/Trace/Extended Events to determine if blocked queries exist. Optimize or rewrite blocking queries Optimize parallel queries Decrease the […]

SQLTRACE_PENDING_BUFFER_WRITERS

July 6, 2016 by

Description This wait accumulates when a trace (commonly run as Profiler) is waiting for buffers to become available for writing. Not much is known about this wait type as it is not documented by Microsoft. SQL Server by default has at least one trace configured to capture configuration changes and other events that could be […]

SQLTRACE_INCREMENTAL_FLUSH_SLEEP

July 6, 2016 by

Description Very similar to SQLTRACE_BUFFER_FLUSH except this wait accumulates between data flushes. SQL Server by default has at least one trace configured to capture configuration changes and other events that could be useful should problems be detected. Because of this wait will often be present but in low numbers. Generally, it is safe to ignore. […]

SQLTRACE_FILE_WRITE_IO_COMPLETION

July 6, 2016 by

Description This wait accumulates when a trace (commonly run as Profiler) is waiting for disk IO to be written to disk. SQL Server by default has at least one trace configured to capture configuration changes and other events that could be useful should problems be detected. Because of this, this wait will often be present […]

SQLTRACE_FILE_BUFFER

July 6, 2016 by

Description This wait accumulates when a trace (commonly run as Profiler) is waiting for file buffers to become available. SQL Server by default has at least one trace configured to capture configuration changes and other events that could be useful should problems be detected. Because of this wait will often be present but in low […]

SQLTRACE_BUFFER_FLUSH

July 6, 2016 by

Description This wait accumulates when a trace (commonly run as Profiler) is waiting to be flushed to disk. SQL Server by default has at least one trace configured to capture configuration changes and other events that could be useful should problems be detected. Because of this wait will often be present but in low numbers. […]

EXECSYNC

July 3, 2016 by

Description This wait accumulates during certain operations inside parallel queries. Bitmap, large binary objects and spooling operations can cause this wait type. This wait typically correlates with high CXPACKET waits and CPU utilization Resolved by DBAs and Developers Suggested solutions Use Profiler/trace/Extended Events to determine the query causing the problem. Optimize this query to reduce […]

DAC_INIT

July 3, 2016 by

Description This wait accumulates when a login starts the Dedicated Administrator Connection (DAC). This connection is reserved for sysadmin members in case the SQL Server instance becomes unresponsive. This wait type is uncommon Resolved by DBAs Suggested solutions If this wait type is high use Profiler/trace/Extended Events to identify who is using the DAC connection. […]

Is this the end of SQL Profiler?

June 13, 2016 by

Introduction SQL Server Profiler is still a tool used to monitor our relational databases and our multidimensional ones. We used for performance and security purposes. However, in the SQL Server 2016, they announced that the SQL Profiler will be deprecated in future versions.

Reading the SQL Server Transaction Log

February 9, 2015 by

Introduction There has always been some debate as to whether or not there are real benefits to be gained from accessing the information in the transaction log. This article will endeavor to answer that question by looking at the following: What is the SQL Server Transaction Log? What information is stored in the transaction log? […]

Understanding the SQL Server Audit

February 9, 2015 by

Introduction With the advent of the Information Era, data is being collected on a massive scale. Information Technology systems have made access to this data faster and easier. It has also made it easier for data to be misused.

Reviewing the SQL Server Audit

December 25, 2014 by

Deciding what method to use to collect audit information can be a task in and of itself. Depending on your needs there are a number of different ways to collect the information. There are settings such as Login Auditing and Common Criteria Compliance that are fairly simple to implement but only collect very specific sets […]

Intro to Auditing in SQL Server

September 30, 2014 by

In the world of information, auditing serves an important purpose. It helps to provide an assurance that the data involved is accurate and safe. The level of assurance of course depends on any number of factors including the level of trust in those performing an audit (or collecting the data for the audit), the frequency […]