ynamic Management Views (DMVs) are a significant and
valuable addition to the DBA's troubleshooting armory,
laying bare previously unavailable information regarding
the under-the-covers activity of your database sessions
and transactions. Why, then, aren't all DBAs using them?
Why do many DBAs continue to ignore them in favour of
"tried and trusted" tools such as sp_who2, DBCC
OPENTRAN, and so on, or make do with the "ready made"
reports built into SSMS? Why do even those that do use
the DMVs speak wistfully about "good old sysprocesses"?
There seem to be two main factors at work. Firstly, some
DBAs are simply unaware of the depth and breadth of the
information that is available from the DMvs, or how it
might help them troubleshoot common issues. This book
investigates all of the DMVs that are most frequently
useful to the DBA in investigating query execution,
index usage, session and transaction activity, disk IO,
and how SQL Server is using or abusing the operating
system. Secondly, the DMVs have a reputation of being
difficult to use. In the process of exposing as much
useful data as possible, sysprocesses has been
de-normalized, and many new views and columns have been
added. This fact, coupled with the initially-baffling
choices of what columns will be exposed where, has lead
to some DBAs to liken querying DMVs to "collecting
mystic spells." In fact, however, once you start to
write your own scripts, you'll see the same tricks, and
similar join patterns, being used time and again. As
such, a relatively small core set of scripts can be
readily adapted to suit any requirement. This book is
here to de-mystify the process of collecting the
information you need to troubleshoot SQL Server
problems. It will highlight the core techniques and
"patterns" that you need to master, and will provide a
core set of scripts that you can use and adapt for your
own systems, including how to: * Root out the queries
that are causing memory or CPU pressure on your system *
Investigate caching, and query plan reuse * Identify
index usage patterns * Track fragmentation in clustered
indexes and heaps * Get full details on blocking and
blocked transactions, including the exact commands being
executed, and by whom. * Find out where SQL Server is
spending time waiting for resources to be released,
before proceeding * Monitor usage and growth of tempdb
The DMVs don't make existing, built-in, performance
tools obsolete. On the contrary, they complement these
tools, and offer a flexibility, richness and granularity
that are simply not available elsewhere. Furthermore,
you don't need to master a new GUI, or a new language in
order to use them; it's all done in a language all DBAs
know and mostly love: T-SQL |
|