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