理解复杂遗留数据库的技术

时间:2015-03-05 11:21:14

标签: sql-server

我继承了一个复杂的,记录不完整的SQL Server数据库,并试图对表格,它们之间的关系以及数据如何组合在一起进行逆向工程。为此,我使用Visio绘制表格图,尝试使用现有查询(没有实际定义的关系)确定数据关系,并使用应用程序逻辑(几乎没有)来帮助。

然而,由于缺乏该系统的文档/模糊性,这是非常具有挑战性的,我想知道是否有任何技术/方法可以提供帮助?

1 个答案:

答案 0 :(得分:1)

不是一件容易的工作,而且越大越难。但是我有一个小技巧来发现数据库的必要表面区域 - 删除所有用户访问权限!

这种数据库通常以完全访问权限运行(即用户是DBO级别或更高级别),因此任何人都可以做任何事情。如果删除所有用户访问权限(但不是您自己的!),则启动应用程序测试并基于每个对象启用最小权限,最终将显示数据库的表面区域(暴露的对象)。此信息对于帮助识别死对象非常有用 - 您的工作很难,因为它不必记录不再使用的SP。

这种技术的成功程度取决于您认为自己在测试中的彻底程度,您是否确定某个地方某人没有连续数据库的Excel工作簿每年运行一次查询其他任何人都没有。