![]() |
![]() |
Monitoring and Managing Microsoft SQL ServersMicrosoft’s SQL server has emerged as the database engine of choice
for most applications hosted on the Microsoft Windows platform. Services
in various domains – healthcare, manufacturing, banking, etc. –
rely on the backend database servers for data storage and access. Any
performance degradation or unavailability of the database servers can
severely impact the performance of the entire service, often causing customer
dissatisfaction and lost business revenue.
|
![]() |
| Microsoft SQL Server report showing database performance and usage |
Many a time, application users and developers point to the database engine - i.e., SQL server - as the reason for a slowdown.
In reality, the problem may be caused by inefficient application design - e.g., one or more of the applications
using the database server is generating queries that do not use indexes
efficiently, thereby can cause increased table scans and unnecessary disk activity. Likewise,
one application may hold a lock on a table, thereby causing other applications
to fail. Unusual transaction rollbacks may also indicate application design
problems that need attention. The eG SQL monitor highlights many of these
application abnormalities to the administrators. By analyzing the locking
patterns of applications, the eG SQL monitor identifies “root”
blocker processes – the ones that are causing other applications
to be blocked. Ranking of applications based on their resource usage and
indications of the queries they are running provides critical information
that can be used by administrators to tune the usage of their SQL servers.
The eG SQL monitor supports Microsoft SQL 7, 2000, 2005, and 2008 versions; the development
and express editions of the database servers can also be monitored. Support
is also available for both named and port-based SQL server installations.
Active/active and active/passive SQL clusters are also supported. Administrators
have the option of deciding whether to monitor in an agent-based or agentless
manner. If agent-based monitoring is used, the eG single agent technology
ensures that all the applications executing on a server are monitored
with a single agent, and the performance of the SQL server can be correlated
with other activities happening on the server (e.g., backup jobs executing).
With its ability to automatically determine baselines for every metric
collected in the IT infrastructure, the eG SQL monitor provides proactive
alerts to administrators. In-depth snapshots of the SQL server’s
usage are also provided from time to time, to assist with real-time and
post-mortem diagnosis. Hourly, daily, and monthly trends are automatically
computed, so administrators can effectively plan the utilization and capacity
of their SQL infrastructure.
| SQL Server Performance Monitoring | Is the Microsoft SQL database server available for servicing requests? What is the response time for a typical query? How many logins/logouts are happening on the SQL server? Which applications/users are accessing the SQL server and what is their respective resource usage? What queries are each of the applications currently executing? |
| SQL Server Engine Monitoring | What is the CPU utilization of the SQL database server engine? How much time is the SQL server spending on processing vs. I/O? What is the typical workload on the database server? Which databases are imposing most load on the database server engine? How many processes are running, and what queries are they executing? Which user(s) are executing these queries? |
| Lock Activity Monitoring | What is the typical locking activity on the database? Which processes are being blocked and by whom? Which are the root-blocker processes, and what queries are they executing? Are any deadlocks happening? |
| Database Activity and Space Monitoring | What databases are hosted on the SQL server? Is any of the databases reaching capacity? Which of the databases is seeing more transaction activity? How many active transactions are currently happening to each of the database server? |
| SQL Memory Monitoring | Is there sufficient memory available for the SQL server? How much memory is the server consuming and how much is it willing to consume? How much memory is used for connections, how much for locks, and how much for query optimizations? What is the server’s cache hit ratio? How many pages are available in the server’s buffer pool? How many of these are free pages? |
| Operating System Monitoring | Is there sufficient disk capacity? Is there excessive contention for CPU or memory resources? Are the disks unusually busy? Which processes are taking up most resources (CPU, memory, disk, etc.)? |
| Generates proactive alerts based on a variety of SQL database server statistics that are collected and analyzed in real-time |
| Correlates end-to-end service performance with database, server, and network performance, so you can quickly determine where the hot-spots in the infrastructure are |
| Provides trending and service level reports so you can assess the current capacity of your infrastructure and plan for future expansion |
| Eliminates finger-pointing among IT administrators by ensuring that problems are easily and rapidly isolated to specific application tiers, so only specific administrators need to be involved in fire-fighting |
| |