监测数据库是为了了解服务器的运行状况。有效的监测意味着获取性能的周期性快照,以分析出导致问题的流程,同时便于掌握一段时间内的性能变化趋势。
监测数据库对数据库开发者和管理者的意义:
确定是否能提高性能。例如,通过监测频繁使用的查询的响应时间来调整sql语句,表索引和表结构。
评估用户活动。例如,通过监测对数据库服务器实例的连接状况决定服务器的安全策略。
调试应用中出现的问题。
SQL Server是一个动态环境,这让监测显得特别重要。监测数据库服务器的步骤包括:
1. 确定监测和优化目标
2.选择合适的工具
3.确定监测对象
4.确定监测对象的细节矩阵
5.分析监测数据并给出优化措施
Windows提供的监测工具:
System Monitor
Performance logs and alerts
Task Manager
Event Tracing for Windows (ETW)
SQL Server提供的监测工具:
SQL Trace
SQL Server Profiler
SQL Server Management Studio Activity Monitor
SQL Server Management Studio Graphical Showplan
Stored procedures:http://msdn.microsoft.com/en-us/library/ms176007(SQL.90).aspx
Database Console Commands (DBCC):http://msdn.microsoft.com/en-us/library/ms188796(SQL.90).aspx
Built-in functions:http://msdn.microsoft.com/en-us/library/ms174318(SQL.90).aspx
Trace flags:http://msdn.microsoft.com/en-us/library/ms188396(SQL.90).aspx