动态管理视图和函数返回可用于监视服务器实例的运行状况、诊断故障以及优化性能的服务器状态信息。
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:返回关联事务和会话的相关信息。