Joh*_*ner 5 sql-server ssis t-sql
我怀疑我今天的 Google 技能不够,但我正在寻找一个快速的 TSQL 脚本,该脚本将识别包存储中使用给定环境变量名称的所有 SSIS 包。
例如,当我配置一个包并查看 Paramaters 页面时,我可以选择一个给定的环境变量。在以下屏幕截图中,我关注的环境变量名为SMTP。我想找到所有使用这个环境变量的包,这样我就可以在进行任何大规模更改之前进行一些调查/测试。
如果有人有现成的脚本,我将不胜感激,如果你能发布它,否则我会在编码后发布一些东西。
谢谢!
由于环境变量可以在项目或包级别使用,此查询将指示使用变量的所述级别并快速返回我想要的结果。希望这会在未来对其他人派上用场。
SELECT objp.[referenced_variable_name] AS [EnvironmentVariable]
, fldr.name AS FolderName
, proj.name AS ProjectName
, COALESCE('Package: ' + pkg.name, 'Project') AS Scope
, objp.parameter_name COLLATE Latin1_General_CS_AS AS ParameterName
FROM SSISDB.catalog.object_parameters objp
INNER JOIN SSISDB.catalog.projects proj
ON objp.project_id = proj.project_id
INNER JOIN SSISDB.catalog.folders AS fldr
ON proj.folder_id = fldr.folder_id
LEFT JOIN SSISDB.catalog.packages pkg
ON objp.object_name = pkg.name
AND objp.project_id = pkg.project_id
-- Only search Projects/Packages that reference Environment variables
WHERE objp.value_type = 'R'
AND objp.referenced_variable_name LIKE '%SMTP%'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4412 次 |
| 最近记录: |