Deciding What to Monitor
Two schools of thought exist about what you should monitor. Some experienced
DBAs are selective about the counters and instances they recommend. Too much
information can be a disadvantage, and logging can use resources and generate large
files. Others, equally experienced, take the view that you should select the objects of
interest and capture all counters and instances of these objects. If you save the
information to a database, you can then use database queries or write your own
application to access whatever information you need. In the latter case, you need to
ensure you have enough disk space available and archive your data as needed. If the
overhead is unacceptable, you can reduce your time interval instead of reducing
the number of counters tracked. This philosophy argues that monitoring is an important
function (it certainly is) and if you are still having resource problems after you have
increased your time interval (say, to more than five minutes), you should buy more
hardware. If you agree with the latter philosophy, the objects you should monitor are
as follows:
? Memory
? Physical disk
? Process
? Processor
? Network interface
? SQLServer:Access Methods
? SQLServer:Buffer Manager
? SQLServer

atabases
? SQLServer:General Statistics
? SQLServer:Latches
? SQLServer:Locks
? SQLServer:Memory Manager
? SQLServer:SQL Statistics
? SQLServer:User Settable
SQL Server 2005 Books Online recommends that you perform your monitoring on a
monitoring server rather than on the SQL Server 2005 production server that you
want to monitor. In practice, this philosophy is debatable. If the Performance tools
run on a remote system, Distributed Component Object Model (DCOM) calls have
(arguably) more impact on network resources than does logging all counters directly
on the production server.