我们有一个在T-SQL,SSIS和SSRS中开发的环境。我们有自己系统的核心数据库,但我们依赖于另一个SQL系统,我们通过调用表,视图和存储过程直接从中提取数据(不理想,但那是另一天)。
作为开发人员,我想确保在任何时候我都能识别出我在辅助数据库上的所有依赖关系。这有望使我能够确定升级期间的关注领域,并允许与辅助团队进行更好的沟通,以确保尽早发现我们系统所需的任何潜在变更。
是否有人知道将智能识别其中使用的所有数据库对象的任何工具/方法:
我目前的替代方案是手动跟踪我们使用的所有对象 - 但我更喜欢某种自动化方法来消除过程中的人为错误。我们目前正在为源代码控制转向TFS环境,因此任何插件都将是一个很大的好处!
由于
答案 0 :(得分:2)
数据字典中有可用的系统元数据,可以跟踪数据库工件的依赖性,直到列级别。您可以查看特定存储过程所依赖的表和列。
但是,对于数据库外部的对象(如报表或SSIS包),数据库不会跟踪此信息,因此数据字典中没有任何内容可以帮助您。
你想要的是起源报告,这是ETL工具界的一个圣杯。理论上的天堂是有一个工具,允许您设置ETL处理或报告(最好不必编写任何SQL代码),然后生成一个按钮报告,跟踪输出回到它们的原点。
可悲的是,SSRS或SSIS都无法做到这一点。您可以以编程方式遍历SSIS数据流元数据,因此可以在理论上做到这一点(可以通过算法将这种依赖关系的图形折叠到最小形式),但对SQL执行此操作要困难得多。我不知道任何现成的工具做得不错。
答案 1 :(得分:2)
富
答案 2 :(得分:0)
http://www.red-gate.com/products/sql_dependency_tracker/index.htm
不太确定如何将SSRS / SSIS链接到此。
不敢相信红门没有这样做,认为他们错过了一招。