SQL Server性能监控与跟踪技术全解析
1. 动态管理视图(DMVs)
动态管理视图(DMVs)为数据库管理员(DBAs)提供了强大的工具,用于监控和优化SQL Server环境。以下将详细介绍其在不同方面的应用。
1.1 未使用索引监控
在处理索引时,未使用的索引可能会影响性能。对于创建但从未使用的索引,如 Persons
表的 MiddleName
列上的索引,不应立即删除。建议至少监控一个月,因为新对象和索引可能在后续应用代码发布时才会被调用。删除必要的索引可能会对用户或应用程序的性能产生严重影响。
1.2 分区统计信息
分区统计信息能为DBA提供日常数据存储和性能方面的重要信息。通过连接系统表(如 sys.partitions
),可以获取更有价值的数据,包括空间使用和大对象(LOB)信息。DMVs每个分区仅显示一行,简化了分区计数查询。以下是一些相关查询示例:
- 获取指定对象的使用页面和行数信息 :
SELECT SUM(used_page_count) AS total_number_of_used_pages,
SUM (row_count) AS total_number_of_rows
FROM sys.dm_db_partition_stats
WHERE object_id=OBJECT_ID('Person.Person')
AND (index_id=0
or ind