【问题标题】:How to check the SSIS packages are connected to a server如何检查 SSIS 包是否连接到服务器
【发布时间】:2021-04-14 08:47:31
【问题描述】:

我是 SSIS 新手,有几个问题请帮助我。

  1. 如何检查哪个解决方案连接到服务器来运行包,因为作业拉的包不工作,我已经在 prod 服务器中运行了包,哪个工作正常。
  2. 如何检查从服务器选择的 ISPAC 文件/

谢谢

【问题讨论】:

    标签: sql-server ssis ssis-2012 ssis-2008


    【解决方案1】:

    此查询将为您提供服务器上运行的所有包的包和作业名称。

    ;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('\',JS.command, CHARINDEX('\',JS.command) + 1) --'
                WHEN JS.command LIKE '/SERVER%' THEN CHARINDEX('"', JS.Command, CHARINDEX(' ',command, CHARINDEX(' ',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, CHARINDEX('\',JS.command, CHARINDEX('\',JS.command) + 1)) --'
                        - CHARINDEX('\',JS.command, CHARINDEX('\',JS.command) + 1) - 1 --'
                WHEN JS.command LIKE '/SERVER%' 
                    THEN  CHARINDEX('"',command, CHARINDEX('"', JS.Command, CHARINDEX(' ',command, CHARINDEX(' ',command) + 1) + 1) + 1)
                        - CHARINDEX('"', JS.Command, CHARINDEX(' ',command, 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.StartIndex, C1.EndIndex)
            WHEN C1.command LIKE '/SERVER%' THEN '\MSDB\' + SUBSTRING(C1.command, 
                C1.StartIndex, C1.EndIndex)
            ELSE NULL
        END
    , C1.command
          FROM CTE1 C1
          ORDER BY C1.job_id, C1.step_id
    

    【讨论】:

      猜你喜欢
      • 2015-04-23
      • 2014-07-11
      • 2022-01-12
      • 2012-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-25
      相关资源
      最近更新 更多