【问题标题】:How to list all SSIS packages on the Sql Server 2008 using T-SQL如何使用 T-SQL 列出 Sql Server 2008 上的所有 SSIS 包
【发布时间】:2014-11-17 21:48:19
【问题描述】:

我无法通过 SQL Management Studio 连接到 SSIS 子系统,因此我正在寻找一种通过 t-sql 列出所有 SSIS 包的方法。我找到了the following query for Sql Server 2005,但它不适用于 2008 年:

-- List all SSIS packages stored in msdb database. 
SELECT PCK.name AS PackageName 
      ,PCK.[description] AS [Description] 
      ,FLD.foldername AS FolderName 
      ,CASE PCK.packagetype 
            WHEN 0 THEN 'Default client' 
            WHEN 1 THEN 'I/O Wizard' 
            WHEN 2 THEN 'DTS Designer' 
            WHEN 3 THEN 'Replication' 
            WHEN 5 THEN 'SSIS Designer' 
            WHEN 6 THEN 'Maintenance Plan' 
            ELSE 'Unknown' END AS PackageTye 
      ,LG.name AS OwnerName 
      ,PCK.isencrypted AS IsEncrypted 
      ,PCK.createdate AS CreateDate 
      ,CONVERT(varchar(10), vermajor) 
       + '.' + CONVERT(varchar(10), verminor) 
       + '.' + CONVERT(varchar(10), verbuild) AS Version 
      ,PCK.vercomments AS VersionComment 
      ,DATALENGTH(PCK.packagedata) AS PackageSize 
FROM msdb.dbo.sysdtspackages90 AS PCK 
     INNER JOIN msdb.dbo.sysdtspackagefolders90 AS FLD 
         ON PCK.folderid = FLD.folderid 
     INNER JOIN sys.syslogins AS LG 
         ON PCK.ownersid = LG.sid 
ORDER BY PCK.name;

经过一番研究,我找到了 2008 年的查询,所以我想分享一下。请参阅下面的答案。

【问题讨论】:

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


    【解决方案1】:

    此查询适用于 Sql Server 2008。主要区别在于使用 msdb.dbo.sysssispackages 并使用左连接,因为某些包可能没有所有者或关联文件夹。

    SELECT PCK.name AS PackageName 
          ,PCK.[description] AS [Description] 
          ,FLD.foldername AS FolderName 
          ,CASE PCK.packagetype 
                WHEN 0 THEN 'Default client' 
                WHEN 1 THEN 'I/O Wizard' 
                WHEN 2 THEN 'DTS Designer' 
                WHEN 3 THEN 'Replication' 
                WHEN 5 THEN 'SSIS Designer' 
                WHEN 6 THEN 'Maintenance Plan' 
                ELSE 'Unknown' END AS PackageTye 
          ,LG.name AS OwnerName 
          ,PCK.isencrypted AS IsEncrypted 
          ,PCK.createdate AS CreateDate 
          ,CONVERT(varchar(10), vermajor) 
           + '.' + CONVERT(varchar(10), verminor) 
           + '.' + CONVERT(varchar(10), verbuild) AS Version 
          ,PCK.vercomments AS VersionComment 
          ,DATALENGTH(PCK.packagedata) AS PackageSize 
    FROM msdb.dbo.sysssispackages AS PCK 
         LEFT JOIN msdb.dbo.sysssispackagefolders AS FLD 
             ON PCK.folderid = FLD.folderid 
         LEFT JOIN sys.syslogins AS LG 
             ON PCK.ownersid = LG.sid 
    ORDER BY PCK.name;
    

    【讨论】:

    • 如何获取 SSIS 包详细信息 (xml) 文件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多