数据库问题帮助脚本

时间:2020-11-30
本文章向大家介绍数据库问题帮助脚本,主要包括数据库问题帮助脚本使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.查询数据库内相关对象的关键字

DECLARE @sql NVARCHAR(2000)='USE ? ;
DECLARE @tmp TABLE(objectName VARCHAR(MAX));
INSERT INTO @tmp
SELECT DISTINCT so.name 
FROM syscomments sc
INNER JOIN sysobjects so ON sc.id=so.id 

WHERE sc.TEXT LIKE ''%SalesManDailyReport%''

IF EXISTS(SELECT 1 FROM @tmp) BEGIN
  SELECT DB_NAME() as dbName,* FROM @tmp;
END
'

EXEC sp_MSforeachdb @sql

2.查询数据库线程

SELECT  
  [session_id],
  [blocking_session_id] AS '正在阻塞其他会话的会话ID',
  DB_NAME([database_id]) AS '数据库名称',
  [request_id],
  [cpu_time],
  [start_time] AS '开始时间',
  [status] AS '状态',
  [command] AS '命令',
  dest.[text] AS 'sql语句', 
  [reads] AS '物理读次数',
  [writes] AS '写次数',
  [logical_reads] AS '逻辑读次数',
  [row_count] AS '返回结果行数',
  [wait_type] AS '等待资源类型',
  [wait_time] AS '等待时间',
  [wait_resource] AS '等待的资源'
  FROM sys.[dm_exec_requests] AS der 
  CROSS APPLY 
  sys.[dm_exec_sql_text](der.[sql_handle]) AS dest 
  WHERE 1=1 
   ORDER BY [session_id] DESC 

原文地址:https://www.cnblogs.com/luoluoluoD/p/14061461.html