我有一个存储过程,我知道正在SQL Agent中的某个地方运行我只是不知道在哪里。有一个简单的方法可以找到答案吗?比编写所有作业并在那里搜索它更容易吗?
TIA - 杰夫。
答案 0 :(得分: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 Agent中的每个子系统的命令都不同。您可以在T-SQL steps
中找到SP名称,但无法在SSIS package
或PowerShell
或其他类型的步骤中找到它们。
以下是sysjobsteps表的文档:http://msdn.microsoft.com/en-us/library/ms187387(v=sql.105).aspx