我需要重命名所有表,存储过程以及每个存储过程中引用旧表名的代码。
为什么最好的方法呢?
我考虑过的一些方法:
SP_Rename - 完成一半的工作。但是,这不会改变SP本身的代码
除了RedGates的Refactor之外,我在这里找到了这组工具http://www.easysqltools.com/EasySQLSmartRename.aspx,它完全一样(我感觉他们的版本基于Refactor,因为UI看起来几乎完全相同)在SSMS Express中,恰好是我运行的版本。对于大多数目的来说,15天试用应该足够了。
答案 0 :(得分:5)
我会在表格中使用sp_rename。
对于其他所有内容,我会编写数据库脚本,对文本文件进行搜索和替换,然后将脚本执行回数据库:
在Management Studio中,右键单击数据库名称,然后单击“任务”,然后“生成脚本”。
不要编写所选数据库中的所有对象的脚本,只编写存储过程,同义词,用户定义的函数和视图。
此外,请确保设置以下选项:脚本删除,脚本对象级别权限,脚本创建。
我意识到这有点单调乏味,这取决于我们谈论的对象有多少,而且(当然),我会先做开发,但我之前使用过这个过程并且效果很好
答案 1 :(得分:3)
RedGate的SQLRefactor具有智能重命名功能。它更新了对重命名对象的所有引用!
见这里:http://www.red-gate.com/products/SQL_Refactor/features.htm
答案 2 :(得分:0)
有一本关于这个和相关主题的书:
Refactoring Databases: Evolutionary Database Design
有一些技巧可以提供帮助,我认为值得做 - 但这并不容易。祝你好运!