如何查询集成服务目录
How to Query Integration Services Catalog
问题:识别连接到 SQL 服务器上特定数据库 table 的所有 SSIS 包。
详情:服务器上部署了将近100个包,大部分包都比较大,手动过一遍比较难准确。
有没有一种快速、自动化的方法来做到这一点?
使用 SQL 服务器的潜在解决方案:
- 查询集成服务目录并检索 *.dtsx 包
- 将包数据载入 XML column/data 类型
- Parse/query 对特定数据库的任何引用的包 table
也许 C# 应用程序也可以这样做?
非常感谢能提供的任何帮助。
我会打开包含所有这些包的 Visual Studio 项目(使用 VS),然后使用 VS "Find in Files" 功能搜索 table 名称。速度非常快,使用 "Match whole word" 搜索应该会弹出您想要的内容。
如果您还没有包含这些包的 Visual Studio project/solution,您可能应该下载它们并构建一个,这样它们就可以 supported/maintained.
感谢 SQL 女士: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'
问题:识别连接到 SQL 服务器上特定数据库 table 的所有 SSIS 包。
详情:服务器上部署了将近100个包,大部分包都比较大,手动过一遍比较难准确。
有没有一种快速、自动化的方法来做到这一点?
使用 SQL 服务器的潜在解决方案:
- 查询集成服务目录并检索 *.dtsx 包
- 将包数据载入 XML column/data 类型
- Parse/query 对特定数据库的任何引用的包 table
也许 C# 应用程序也可以这样做?
非常感谢能提供的任何帮助。
我会打开包含所有这些包的 Visual Studio 项目(使用 VS),然后使用 VS "Find in Files" 功能搜索 table 名称。速度非常快,使用 "Match whole word" 搜索应该会弹出您想要的内容。
如果您还没有包含这些包的 Visual Studio project/solution,您可能应该下载它们并构建一个,这样它们就可以 supported/maintained.
感谢 SQL 女士: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'