sql - 跟踪存储过程/SSIS/SSRS 中的 SQL 依赖关系

标签 sql reporting-services ssis

我们有一个在 T-SQL、SSIS 和 SSRS 中进行开发的环境。我们拥有自己系统的核心数据库,但我们依赖于另一个 SQL 系统,我们通过调用表、 View 和存储过程直接从中提取数据(不太理想,但那是另一天的事了)。

作为一名开发人员,我希望确保在任何时间点我都可以识别对辅助数据库的所有依赖项。希望这将使我能够确定升级过程中需要关注的领域,并与辅助团队更好地沟通,以确保尽早发现我们系统所需的任何潜在更改。

是否有人知道任何工具/方法可以智能地识别以下内容中使用的所有数据库对象:

  • SSIS 包
  • SSRS 报告
  • 通过存储过程等中的链接服务器调用对象

我当前的替代方案是手动跟踪我们使用的所有对象 - 但我更喜欢某种自动化方法来消除过程中的人为错误。我们目前正在转向 TFS 环境来进行源代码控制,因此任何插件都将是一个巨大的好处!

谢谢

最佳答案

数据字典中有可用的系统元数据,可以跟踪数据库工件的依赖关系,直至列级别。您可以查看特定存储过程依赖哪些表和列。

但是,对于数据库外部的对象(例如报表或 SSIS 包),数据库没有可跟踪的信息,因此数据字典中没有任何内容可以为您提供帮助。

您想要的是来源报告,这是 ETL 工具圈中的 chalice 。理论上的必杀技是拥有一个工具,允许您设置 ETL 处理或报告(最好无需编写任何 SQL 代码),然后生成一个按钮报告,将输出跟踪回其来源。

遗憾的是,SSRS 或 SSIS 都没有能力执行此操作。您可以通过编程方式遍历 SSIS 数据流元数据,因此理论上可以做到这一点(可以通过算法将此类依赖关系图折叠到最小形式),但对 SQL 执行此操作要困难一些。我不知道有任何现成的工具可以在这方面做得很好。

关于sql - 跟踪存储过程/SSIS/SSRS 中的 SQL 依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3084829/

相关文章:

asp.net - Linq 检查值是否存在,否则设置默认值

sql - MongoDB查询区分、排序、限制和偏移

sql - SSIS 包 - 由于错误 0xC0014062,无法加载包

mysql - SSMS 中的 SSIS 包 - ADO NET 源无法获取连接 - 无法创建托管连接管理器

mysql - 如何通过组合 3 个不同表的数据获得如下输出

sql - SQL Server中有类似 "Only IN"这样的关键字吗?

c# - 包含来自 SSRS 报告的多个工作表的 Excel 文件

vb.net - 在 SSRS 中对一个参数使用多个 VB Mid 函数

reporting-services - 隐藏或更改 SSRS 中 ToggleItem 文本框的 + 和 - 按钮

ssis - 使用 SSIS 将数据迁移到 MS Dynamics CRM 2013 Online