Milena Petrovic

A DBA guide to SQL Server performance troubleshooting – Part 1 – Problems and performance metrics

March 13, 2014 by
Monitoring SQL Server performance is a complex task, as performance depends on many parameters, both hardware and software. It’s recommended to monitor these parameters proactively in order to prevent any potential performance degradation. However, this is not always the case. If the performance degradation happens, the first step towards the resolution is to determine the problem, find out the cause, and resolve the issue. Severe performance issues require quick actions and resolutions. Less severe problems can have a delayed fix. In either case, DBAs should take actions to prevent these situations in future Read more »
Milena Petrovic

Windows Performance Monitor basics

March 12, 2014 by
Windows Performance Monitor is a tool shipped with Windows that can be used to monitor and examine how applications affect computer performance. It can measure real-time server performance and save the measured values into a log file that can be analyzed later. It enables real time system and SQL Server performance monitoring, tracking the performance impact of applications and services, setting threshold for each monitored metric, and generating an alert or performing a specific action when the defined threshold is exceeded
Read more »
Milena Petrovic

SQL Server disk performance metrics – Part 1 – the most important disk performance metrics

March 12, 2014 by
So far, we have presented the most important memory and processor metrics. These metrics indicate system and SQL Server performance, and are useful for troubleshooting performance issues and bottlenecks. Besides memory and processor metrics, equally important are SQL Server disk metrics. Sometimes a metric from one category can be masked by other events and be misleading – e.g. a disk issue can cause processor bottlenecks. That’s why it’s necessary to understand the cause and effect of each metric Read more »
Milena Petrovic

SQL Server processor performance metrics – Part 4 – processor metrics useful for deeper investigation and troubleshooting

March 12, 2014 by

In the previous part of this series, we presented the processor metrics that indicate hardware component problems that can affect SQL Server performance

In this part, we will present processor metrics that are not necessary in every performance monitoring scenario, but are useful for deeper investigation and troubleshooting Read more »
Milena Petrovic

SQL Server processor performance metrics – Part 3 – measures that indicate hardware component problems

March 11, 2014 by
In the Part 1 and Part 2 of the SQL Server processor performance metrics series, we described the most important processor performance metrics – Processor: % Processor Time, Process: % Processor Time, Processor Queue Length, Processor: % User Time, Processor: %Privilege Time, as well as various total times and thread metrics Read more »
Milena Petrovic

SQL Server processor performance metrics – Part 2 – Processor: % User Time, Processor: % Privilege Time, total times and thread metrics

March 11, 2014 by

In SQL server processor performance metrics – Part 1 – The most important cpu metrics, we described the Processor Queue Length and two most important processor time counters – Processor % Processor Time and Process % Processor time

In this part, we will continue describing important time processor counters Read more »
Milena Petrovic

SQL Server memory performance metrics – Part 6 – other memory metrics

March 10, 2014 by
So far, we have described the most popular and most important SQL Server memory metrics. Monitoring these metrics is recommended in every scenario when SQL Server performance monitoring and troubleshooting is needed. Besides the SQL Server Memory Manager metrics, the memory pressure can be indicated via the Buffer Manager metrics, as the buffer is the component that uses most of the SQL Server memory Read more »
Milena Petrovic

SQL Server memory performance metrics – Part 5 – understanding Lazy Writes, Free List Stalls/sec, and Memory Grants Pending

March 7, 2014 by
We’ve started the SQL Server performance metrics series with the SQL Server memory metrics that should be monitored to indicate and help troubleshoot SQL Server performance issues

In this part, we will continue with SQL Server memory performance metrics and present Lazy Writes, Free List Stalls/sec, and Memory Grants Pending Read more »

Milena Petrovic

SQL Server memory performance metrics – Part 4 – Buffer Cache Hit Ratio and Page Life Expectancy

March 5, 2014 by

In SQL Server performance metrics – part 3, we presented some of the SQL Server Buffer Manager metrics. As the SQL Server buffer pool manages data cache, it’s important to monitor various buffer pool metrics as they help identify and solve memory pressure issues

In this article, we will present 2 more Buffer Manager counters – Buffer Cache Hit Ratio and Page Life Expectancy.

Read more »
Milena Petrovic

SQL Server memory performance metrics – Part 3 – SQL Server Buffer Manager metrics and memory counters

March 3, 2014 by
In the previous parts of the SQL Server performance metrics series, we presented most important SQL Server memory metrics that indicate overall SQL Server memory pressure. The described metrics show how SQL Server uses memory and physical I/O to store, read and write data pages. In this part, we continue with SQL Server Buffer Manager metrics and memory counters Read more »
Milena Petrovic

SQL Server memory performance metrics – Part 2 – available bytes, total server, and target server memory

February 21, 2014 by
In the first part of this series, we started with most important SQL Server performance memory metrics. We described Pages/sec and Page faults/sec, what they indicated, and what the normal values were In this part, we will present three more memory metrics that affect SQL Server performance – Available memory bytes, Total server memory, and Target server memory Read more »
Milena Petrovic

SQL Server performance monitoring with Data Collector – Part 2 – set-up and usage

February 21, 2014 by
In the previous part of this article, we described SQL Server Data Collector, its features, and pre-defined collection sets. We showed what data is collected and described the mechanisms used to collect, store, and purge the saved records. In this part, we will give detailed steps to provide all necessary pre-requests and set up Data Collector Read more »
Milena Petrovic

SQL Server performance basics

February 19, 2014 by
Monitoring is recommended in dynamic environments. When it comes to SQL Server – users, DBAs, and the system itself are performing events constantly – changing data and database structure, user privileges, etc. SQL Server can manage automatically all these requests, but its self-tuning doesn’t provide best results, and additional monitoring and manual tuning can provide better performance Read more »
Ivan Stankovic

Top 10 articles on the SQL Server transaction log

February 13, 2014 by

Understanding Logging and Recovery in SQL Server

In “Understanding Logging and Recovery in SQL Server”, Paul S. Randal has given a complete overview of the transaction log. In four sections he explains: what is logging, what is recovery, how the transaction log works, and which recovery models are available. This article can be used as a starting point in understanding fundamentals of the transaction log and the logging process Read more »
Ivan Stankovic

A beginner’s guide to SQL Server transaction logs

February 11, 2014 by

What is a transaction log?

A transaction log is a file – integral part of every SQL Server database. It contains log records produced during the logging process in a SQL Server database. The transaction log is the most important component of a SQL Server database when it comes to the disaster recovery – however, it must be uncorrupted. After each database modification – transaction occurrence, a log record is written to the transaction log. All the changes are written sequentially Read more »