首页 > 解决方案 > 使用 SPID 了解作业名称

问题描述

我们遇到了一个问题,数据库重新启动,因为服务器上的事务日志空间已满。我有导致问题的 spid,但我无法找出该 spid 下的作业名称。有没有办法我们可以算出上周运行的所有工作的 spid ?

标签: sql-server

解决方案


这并不完全是答案,但如果您的代理工作由不同的用户拥有,则可以为您指明正确的方向。您可以运行以下命令来查找该特定 SPID 拥有的作业:

Use Master
Go

select 
    SJ.name,
    L.name
from  msdb.dbo.sysjobs SJ 
left join 
sys.syslogins L 
    on SJ.owner_sid = L.sid
Where 
    SJ.owner_sid = 'SPID_GOES_HERE'

但是,对于长期解决方案,您可能希望设置一个在后台运行的审核以捕获活动。是涵盖可以完成此操作的不同方式的链接。

希望这可以帮助


推荐阅读