【问题标题】:What SQL Server agent job is running a stored procedure?哪个 SQL Server 代理作业正在运行存储过程?
【发布时间】:2014-06-16 12:08:17
【问题描述】:

我有一个存储过程,我知道它正在 SQL 代理中的某个地方运行,我只是不知道在哪里。有没有简单的方法可以找出来?比编写所有工作的脚本并在那里搜索更容易吗?

TIA - 杰夫。

【问题讨论】:

    标签: sql-server-2008-r2 sql-agent


    【解决方案1】:

    您可以使用msdb.dbo.sysjobsteps 表。 command 字段包含该步骤的 SQL 语句。

    这是一个示例查询:

    USE [msdb]
    GO
    SELECT
        J.job_id,
        J.name,
        JS.step_id,
        JS.command,
        J.enabled 
    FROM
        dbo.sysjobs J
        INNER JOIN dbo.sysjobsteps JS
            ON JS.job_id = J.job_id 
    WHERE
        JS.command LIKE N'%string to find%'
    

    请注意,SQL 代理中每个子系统的命令都不同。您可以在T-SQL steps 中找到SP 名称,但在SSIS packagePowerShell 或其他类型的步骤中找不到它们。

    这里是 sysjobsteps 表的文档:http://msdn.microsoft.com/en-us/library/ms187387(v=sql.105).aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-16
      • 2012-08-03
      相关资源
      最近更新 更多