2010-06-21 71 views
2

我们有我们中的T-SQL,SSIS和SSRS开发环境。我们有自己的系统的核心数据库,但是我们依赖于另一个SQL系统,我们通过调用表,视图和存储过程直接提取数据(不理想,但那是另一天)。跟踪SQL依赖/ SSIS/SSRS

作为一个开发者,我想,以确保在任何时间点,我可以识别辅助数据库上我所有的依赖。这将有助于我确定升级过程中的关注领域,并允许与次级团队更好地沟通,以确保尽早发现我们系统所需的任何潜在变化。

是任何人都知道的任何工具/方法,将智能地识别所有的数据库对象中使用:

  • SSIS包
  • SSRS报告
  • 呼吁通过链接服务器对象存储的特效,等

我目前的选择是手动跟踪我们使用的所有对象 - 但我会更喜欢某种方式的自动化,以消除过程中的人为错误。我们正在向我们的源代码控制迈进一个TFS环境,因此,任何插件都将是一项巨大的奖励!

感谢

回答

2

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

然而,对于对象外部数据库,如报告或SSIS包的数据库中没有此信息跟踪,所以数据字典,可以帮助您有什么以内。

你想要的是原产地的报告,这是一个圣杯的ETL工具界的东西。理论上的必杀技是有一个工具,允许您设置ETL处理或报告(最好不需要编写任何SQL代码),然后生成一个按钮报告,将输出追溯到原来的位置。

可悲的是,无论是SSRS或SSIS有一个设施,做到这一点。您可以以编程方式遍历SSIS数据流元数据,因此可以在理论上做到这一点(可以通过算法将这种依赖关系的图形折叠成最小形式),但是对SQL执行此操作会比较困难。我不知道任何现成的工具,这样做体面的工作。

+0

谢谢 - 我担心这可能是这种情况,但永远有更多的希望。听起来像我会滚动我自己的解决方案 – Chris 2010-06-22 08:09:03

2

克里斯,我居然拿了另一环顾四周,我发现到SSIS,SSRS,SSAS和世界一个不错的关键。 SQL MetaData ToolKit(http://sqlmetadata.codeplex.com/releases/view/47356)将为您切片并切割对象并将它们放入表格中。如果你一直在看,你可能会看到它,并认为它看起来愚蠢。它的确如此,但是当我安装最新的版本时,我记得数据库在它后面,所以我入侵了它。很容易遵循。然后可以从系统表中获取数据库中的内容。 sysdependencies的问题在于它不同步,所以我所做的是编写数据库脚本并在新的虚拟服务器上重新创建它们。我希望这有帮助。我将在同一类型的事情上工作。

丰富

+0

辉煌,谢谢里奇 - 在我的搜索中错过了这一个。我会玩一个:) – Chris 2010-06-22 16:16:13

+0

嗯,我一直在玩这个工具 - 我认为它可能会变得非常酷,但目前它似乎没有解决我想解决的问题:( – Chris 2010-06-24 14:11:12

0

http://www.red-gate.com/products/sql_dependency_tracker/index.htm

不太清楚你如何链接SSRS/SSIS这一点。

不敢相信红门没有这样做,认为他们错过了一招。

+0

是的,一直在玩这个,但似乎不支持SSIS/SSRS。完全同意他们错过了一个窍门,它似乎正好在他们的胡同里。其余产品的粉丝,手指越过了未来! – Chris 2010-06-23 14:02:16