代码改变世界

动态管理视图和函数的使用

2011-05-22 23:54  假面Wilson  阅读(287)  评论(0编辑  收藏  举报

动态管理视图和函数返回可用于监视服务器实例的运行状况、诊断故障以及优化性能的服务器状态信息。

1、与执行有关的动态管理视图和函数:

(*)sys.dm_exec_sessions: 是服务器范围的视图,显示了有关所有活动用户连接和内部任务的信息。此信息包含客户端版本、客户端程序名称、客户端登录时间、登录用户、当前会话设置等。

(*)sys.dm_exec_requests :返回有关在 SQL Server 中执行的每个请求的信息。

(*)sys.dm_exec_connections:返回与 SQL Server 实例建立的连接有关的信息以及每个连接的详细信息。

(*)sys.dm_exec_cursors返回有关在各种数据库中打开的游标的信息。

比如;select * from sys.dm_exec_cursors(0)

(*)sys.dm_exec_sql_text :返回由指定的 sql_handle 标识的 SQL 批处理的文本。

比如:select sql_text.*  from sys.dm_exec_requests CROSS APPLY(SELECT * FROM sys.dm_exec_sql_text(sys.dm_exec_requests.sql_handle)) sql_text

sys.dm_exec_background_job_queue对计划异步(后台)执行的每个查询处理器作业返回一行。

sys.dm_exec_background_job_queue_stats对于每个为异步(后台)执行而提交的查询处理器作业,相应地返回一行,以提供聚合统计信息。

(*)sys.dm_exec_cached_plans 针对 SQL Server 为了加快查询执行而缓存的每个查询计划返回一行。

比如:select sql_text.* from sys.dm_exec_cached_plans  CROSS APPLY( SELECT * FROM sys.dm_exec_sql_text(sys.dm_exec_cached_plans.plan_handle)) sql_text

sys.dm_exec_plan_attributes针对计划句柄所指定计划的每个计划属性返回一行。

比如:select * from sys.dm_exec_plan_attributes(0x05000500AEB9A870B881125A000000000000000000000000)

sys.dm_exec_text_query_plan为 Transact-SQL 批查询或批查询中的特定语句返回文本格式的显示计划。

sys.dm_exec_query_plan以 XML 格式返回计划句柄指定的批查询的显示计划。计划句柄指定的计划可以处于缓存或正在执行状态。

比如:select * from sys.dm_exec_query_plan(0x05000500AEB9A870B881125A000000000000000000000000)

(*)sys.dm_exec_query_stats :返回缓存查询计划的聚合性能统计信息。

 

2与索引有关的动态管理视图和函数

(*)sys.dm_db_index_usage_stats返回不同类型索引操作的计数以及上次执行每种操作的时间。

sys.dm_db_index_operational_stats 返回数据库中表或索引的每个分区的当前低级 I/O、锁定、闩锁和访问方法活动。

(*)sys.dm_db_index_physical_stats :返回指定表或视图的数据和索引的大小和碎片信息。

sys.dm_db_missing_index_columns返回与缺少索引(不包括空间索引)的数据库表列有关的信息。

(*)sys.dm_db_missing_index_details:返回有关缺失索引的详细信息,不包括空间索引。

sys.dm_db_missing_index_groups返回有关特定缺失索引组中包含的缺失索引(不包括空间索引)的信息

sys.dm_db_missing_index_group_stats 返回有关缺失索引组的摘要信息,

 

3、与 I/O 有关的动态管理视图和函数:

sys.dm_io_virtual_file_stats返回数据和日志文件的 I/O 统计信息。

比如:SELECT * FROM sys.dm_io_virtual_file_stats(db_id('taobao'),null)

sys.dm_io_pending_io_requests对于 SQL Server 中每个挂起的 I/O 请求,返回与其对应的一行。

sys.dm_io_cluster_shared_drives如果当前服务器实例为群集服务器,则此视图返回每个共享驱动器的名称。如果当前服务器实例不是群集实例,则返回空行集。

sys.dm_io_backup_tapes返回磁带设备的列表和用于备份的装入请求的状态。

 

 

4、与数据库有关的动态管理视图:

sys.dm_db_file_space_usage返回数据库中每个文件的空间使用信息。该视图只适用于 tempdb 数据库。

sys.dm_db_partition_stats返回当前数据库中每个分区的页和行计数信息。

比如:SELECT * FROM sys.dm_db_partition_stats  WHERE object_id = OBJECT_ID('taobaoitem_0003');

sys.dm_db_session_space_usage返回每个会话为数据库分配和释放的页数。该视图只适用于 tempdb 数据库

sys.dm_db_task_space_usage返回数据库任务所执行的页分配和释放活动。该视图只适用于 tempdb 数据库

5、与事务有关的动态管理视图和函数

(*)sys.dm_tran_locks返回有关当前活动的锁管理器资源的信息。

sys.dm_tran_database_transactions返回有关数据库级的事务的信息。

sys.dm_tran_session_transactions返回关联事务和会话的相关信息。