gpt4 book ai didi

sql-server - 如何在SSIS项目中搜索对特定表的引用?

转载 作者:行者123 更新时间:2023-12-02 23:50:28 24 4
gpt4 key购买 nike

情况

在我的新角色中,我需要检查填充我们几个表的ETL逻辑。我们部署SSIS项目来管理ETL工作流程。通常,我们会收到有关特定列可能没有预期数据的反馈。在这种情况下,我将检查ETL逻辑以确保我们正确地携带了数据。

并发症

对我来说,确定哪些SSIS项目填充了某些表非常耗时。我们有许多SSIS软件包。

问题

我可以编写查询来搜索Integration Services目录(SSIS项目)以获取表引用吗?

我们的SSIS项目存储在名为Integration Services Catalog的文件夹中的单独数据库中。程序包未存储在msdb系统数据库中。

SELECT
f.NAME AS FolderName
,sib.description
,sib.name as ProjectName
,sib.created_time
,sib.project_id
FROM [SSISDB].[internal].[projects] SIB
INNER JOIN internal.folders F ON F.folder_id = SIB.folder_id

我已经找到了有关项目的信息,但是看不到任何XML或代码来搜索表引用。另外,我知道我可以使用Powershell搜索SSIS项目,但是似乎它们都存储在服务器上,我也不知道如何找到要从PowerShell中搜索的文件。

我们使用SQL Server 2016。

最佳答案

表引用将在SSIS包的XML内。如果右键单击.dtsx并选择使用notepad ++编辑,这将打开xml并允许您查看正在调用的内容。一种快速执行此操作的方法,进入Windows搜索框,输入“索引选项”,添加用于保存SSIS解决方案的文件夹,转到高级选项,选择“文件类型”,然后将索引类型更改为“索引”属性和文件选项”。

enter image description here

现在,当您转到“文件夹”并在“冒犯性”列的表名中键入时,受影响的软件包将出现。这种方法的唯一作用是,如果您有一些只是EXEC usp ... xyz的EXECUTE SQL任务。找不到表名。然后,您需要索引已保存的存储过程的.sql,以查看是否引用了该表名。
希望这可以帮助。

关于sql-server - 如何在SSIS项目中搜索对特定表的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60568636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com