如何查询集成服务目录

Posted

技术标签:

【中文标题】如何查询集成服务目录【英文标题】:How to Query Integration Services Catalog 【发布时间】:2015-12-04 21:51:38 【问题描述】:

问题:识别连接到 SQL Server 上特定数据库表的所有 SSIS 包。

详情:服务器上部署了近100个包,大多数包都很大,因此很难手动准确地通过它们。

有没有一种快速和自动化的方法来做到这一点?

使用 SQL Server 的潜在解决方案:

    查询集成服务目录并检索 *.dtsx 包 将包数据加载到 XML 列/数据类型中 解析/查询包以获取对特定数据库表的任何引用

也许 C# 应用程序也可以这样做?

我非常感谢可以提供的任何帮助。

【问题讨论】:

我建议尝试潜在的解决方案并在您遇到问题时提出问题。现在你的问题对于 Stack Overflow 来说太宽泛了,它主要关注特定的代码相关问题。 【参考方案1】:

感谢 SQL Girl 女士:http://www.mssqlgirl.com/editing-published-ssis-package-in-sql-server-2012.html

USE SSISDB

SELECT pr.name AS [ProjectName]
    , pr.description AS [ProjectDescription]
    , pr.last_deployed_time AS [ProjectLastValidated]
    , pr.validation_status AS [ProjectValidationStatus]
    , op.object_name AS [PackageName]
    , op.design_default_value AS [DefaultConnectionString]
FROM [internal].[object_parameters] op
INNER JOIN [internal].[projects] pr
ON pr.project_id = op.project_id
AND pr.object_version_lsn = op.project_version_lsn
WHERE op.parameter_name LIKE '%.ConnectionString'

【讨论】:

【参考方案2】:

我会打开包含所有这些包的 Visual Studio 项目(使用 VS),然后使用 VS 的“在文件中查找”功能来搜索表名。它非常快,并且使用“匹配整个单词”搜索应该会弹出您想要的内容。

如果您还没有包含这些包的 Visual Studio 项目/解决方案,您可能应该下载并构建一个,以便支持/维护它们。

【讨论】:

抱歉回复晚了。我最终找到了在这个论坛上引发问题的问题的解决方案。无论如何,在一个单独的博客上提出了一个查询(见上面的答案)。

以上是关于如何查询集成服务目录的主要内容,如果未能解决你的问题,请参考以下文章

如何将书籍与carddav服务器集成?

如何自定义spring集成流程

如何将ONLYOFFICE与Nextcloud集成

为Oracle GoldenGate准备数据库

如何通过 AAR 形式集成 leakcanary-android 服务

没有 Azure 订阅,无法创建集成服务目录