1

我有一个数据库,里面有多个团队和人员以多种语言填充了 15 年的杂乱无章的内容。我正在寻找重命名表/列/约束以匹配某种类型的标准。

问题是一个列可能在大量存储的过程中被引用,除了使用 SQL Digger 之类的工具搜索每个存储过程之外,没有其他方法可以找到。问题是我想重命名大量实体并手动为每个听起来很痛苦。

我一直在寻找一种有助于名称重构的工具,但找不到任何东西。一些工具 [here] 含糊地声称可以做到这一点,但实际上并非如此(我没有看过列出的所有工具都是公平的)。

有没有人使用过这样的工具?

4

5 回答 5

7

我使用ApexSQL 重构已有一段时间了。它是一个免费软件工具,到目前为止它运行良好。

他们的解决方案中心有一篇文章“如何在不破坏 SQL 数据库的情况下更改对象名称” 。

我注意到一个新版本公告(2013 年),但我不确定它是否会保持免费。

于 2012-12-08T16:23:10.637 回答
3

使用上述任何工具更新对象时要小心,因为它们只搜索您数据库中的引用。要记住的重要一点是您在应用程序的数据访问层中拥有的代码。

您可能想要查看的另一个工具是ApexSQL Clean。它可以找到所有未使用的数据库对象,直观地显示所有引用,但它也可以搜索 .NET 解决方案并在那里找到引用。

同样,考虑到您的数据库已有 15 年历史,您可能在不同的遗留应用程序中拥有代码,而不仅仅是 .NET。无论如何,祝你好运。希望现在这一切都完成了:)

于 2013-02-02T19:14:05.563 回答
2

我没有使用过这个,但使用了他们的其他 Sql Server 工具,他们做了他们声称的事情。

http://www.red-gate.com/products/sql-development/sql-prompt/

于 2012-06-18T23:21:29.893 回答
2

过去,我曾使用数据库项目(在 Visual Studio 2010 中)进行重构活动,并取得了很大的成功。数据库项目肯定有许多怪癖,但没有什么是您无法解决的。

您可以在此处找到有关它的更多详细信息:http: //msdn.microsoft.com/en-us/library/dd193420

于 2012-06-18T23:22:29.187 回答
2

几个选项:

SQL Server 数据工具在此处查看

Red-Gate SQL Refactor(嗯,现在是SQL Prompt的一部分)

请注意,这些工具只能足够聪明地找到通过直接引用或通过适当的依赖关系公开的引用。如果您使用动态 SQL 构造表或列名,那么您就不走运了。

几年前,我还写了一篇关于让 sysdepends 保持最新状态的博客,但是我不确定它对列特别有用:

https://sqlblog.org/2008/09/09/keeping-sysdepends-up-to-date-in-sql-server-2008

于 2012-06-18T23:22:51.513 回答