如何解决如何检查 SSIS 包是否已连接到服务器
我是 SSIS 的新手,我有几个问题请帮助我。
谢谢
解决方法
此查询将为您提供服务器上运行的所有包的包和作业名称。
;WITH CTE1 AS (
SELECT
J.job_id,JobName = J.name,JS.step_id,JS.step_name,JS.command,StartIndex =
CASE
WHEN JS.command LIKE '/DTS%' OR JS.command LIKE '/SQL%' OR JS.command LIKE '/ISSERVER%' THEN CHARINDEX('\',CHARINDEX('\',JS.command) + 1) --'
WHEN JS.command LIKE '/SERVER%' THEN CHARINDEX('"',JS.Command,CHARINDEX(' ',command,command) + 1) + 1) + 1
ELSE 0
END,EndIndex =
CASE
WHEN JS.command LIKE '/DTS%' OR JS.command LIKE '/SQL%' OR JS.command LIKE '/ISSERVER%'
THEN CHARINDEX('"',JS.command) + 1)) --'
- CHARINDEX('\',JS.command) + 1) - 1 --'
WHEN JS.command LIKE '/SERVER%'
THEN CHARINDEX('"',CHARINDEX('"',command) + 1) + 1) + 1)
- CHARINDEX('"',command) + 1) + 1) - 1
ELSE 0
END
FROM msdb.dbo.sysjobsteps JS
INNER JOIN msdb.dbo.sysjobs J
ON JS.job_id = J.job_id
WHERE JS.subsystem = 'SSIS'
)
SELECT
C1.job_id,C1.JobName,C1.step_id,C1.step_name,PackageFolderPath =
CASE
WHEN C1.command LIKE '/DTS%' OR C1.command LIKE '/ISSERVER%' THEN
SUBSTRING(C1.command,C1.StartIndex,C1.EndIndex)
WHEN C1.command LIKE '/SQL%' THEN '\MSDB' + SUBSTRING(C1.command,C1.EndIndex)
WHEN C1.command LIKE '/SERVER%' THEN '\MSDB\' + SUBSTRING(C1.command,C1.EndIndex)
ELSE NULL
END,C1.command
FROM CTE1 C1
ORDER BY C1.job_id,C1.step_id
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。