有时候,某个库可能因为业务关系准备下线,但是业务方不确定这个库是完全没有调用的。
需要dba协助排查下。
这里分2种:查询请求、变更请求
(这种更稳妥,因为如果是短链接则直接查询master.dbo.sysprocesses可能抓不到现场,但是事务日志如果长期没shrink则会比较慢)
USE [AdventureWorks2019NEW];
-- 只捞1000条,根据begin time和Transaction Name的内容可做到初步的判断
SELECT top 1000 [Current LSN],
Operation,
[Transaction ID],
[Begin Time],
[Transaction Name],
[Transaction SID] FROM [sys].[fn_dblog](NULL,NULL);
(只能针对长连接, 如果是短链接则最好能持续间歇性的抓几天看有没有捕获到)
use [master];
SELECT DB_NAME(dbid) AS DatabaseName, COUNT(*) AS ConnectionCount
FROM sys.sysprocesses
WHERE dbid > 0 -- 只显示已经分配了数据库ID(非系统进程)的会话
-- and db_name(dbid)='AdventureWorks2019NEW' -- 这里也可以指定具体的待查询的库
GROUP BY dbid;
新建会话向导
然后筛选下库名,只查看要关注的库的event详情。
定位到库级别的sql明细,不太方便。
参考: https://blog.devart.com/sql-server-query-history.html
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。