25-SQLServer中的DMV和DMF的使用

一、总结

1、什么事DMV和DMF
DMV(Dynamic Management View):动态管理视图
DMF(Dynamic Management Function):动态管理函数

二、操作步骤

1.查看当前正在执行的SQL

select r.start_time,r.status,r.command,db_name(r.database_id) as dbname,r.cpu_time,qt.text
from sys.dm_exec_requests r
cross apply sys.dm_exec_sql_text(r.sql_handle) qt

2、查看执行的命令的进度(百分比)

select r.start_time,r.status,r.command,db_name(r.database_id) as dbname,r.cpu_time,r.percent_complete,qt.text
from sys.dm_exec_requests r
cross apply sys.dm_exec_sql_text(r.sql_handle) qt

 注:percent_complete  : 查看执行命令的百分比,但是不是所有的命令都能看到的,能看到百分比的操作如下:

  ALTER INDEX REORGANIZE

  AUTO_SHRINK 选项(带 ALTER DATABASE)

  BACKUP DATABASE
  DBCC CHECKDB
  DBCC CHECKFILEGROUP
  DBCC CHECKTABLE
  DBCC INDEXDEFRAG
  DBCC SHRINKDATABASE
  DBCC SHRINKFILE
  RECOVERY
  RESTORE DATABASE
  ROLLBACK
  TDE ENCRYPTION

3、查看日志文件的大小

select DB_NAME(database_id) as dbname,total_log_size_in_bytes/1024/1024 as total_log
from sys.dm_db_log_space_usage

原文地址:https://www.cnblogs.com/jialanyu/p/11895555.html