查询ssisdb以查找软件包的名称 [英] querying ssisdb to find the name of packages

查看:98
本文介绍了查询ssisdb以查找软件包的名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在查询ssis目录,以查找目录中所有软件包的名称.
Folder1项目中只有6个软件包,但查询给出9条记录

i was querying the ssis catlog to find out the name of all the packages in the catalog.
There are only 6 packages in the Folder1 project,but the query gives 9 records

 1. SELECT P.NAME FROM SSISDB.internal.projects PRJ INNER JOIN
    SSISDB.internal.packages P ON
    P.project_version_lsn=PRJ.object_version_lsn WHERE
    PRJ.NAME='Folder1'

它还会显示从项目中删除的软件包.

Does it show the deleted packages from the project as well.

推荐答案

它们不会被删除,这是历史跟踪的一部分.您可能想要一个更类似于

They aren't deleted, that's part of the historical tracking. You likely wanted a query more similar to

SELECT
    F.name AS FolderName
,   P.name AS ProjectName
,   PKG.name AS PackageName
FROM
    ssisdb.catalog.folders AS F
    INNER JOIN 
        SSISDB.catalog.projects AS P
        ON P.folder_id = F.folder_id
    INNER JOIN
        SSISDB.catalog.packages AS PKG
        ON PKG.project_id = P.project_id
ORDER BY
    F.name
,   P.name
,   PKG.name;

这反映了文件夹包含项目,而项目包含程序包,因此将为给定程序包提供确切的地址".

This reflects that Folders contain Projects and Projects contain Packages so that will provide the exact "address" for a given package.

这篇关于查询ssisdb以查找软件包的名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆