我们正在将许多旧的存储过程推广到生产环境,但它们引用了一个开发框。有没有简单的方法来搜索所有程序并更新它们?我尝试更新 sys.sql_modules 中的定义字段,还尝试更新 syscomments.text 但无法更新。这是我正在尝试做的一个例子。
在存储过程中,我们有以下 select * from vmdproduction.test.dbo.table1,我想在所有存储过程的所有情况下将 vmdproduction 重命名为生产。
谢谢
我们正在将许多旧的存储过程推广到生产环境,但它们引用了一个开发框。有没有简单的方法来搜索所有程序并更新它们?我尝试更新 sys.sql_modules 中的定义字段,还尝试更新 syscomments.text 但无法更新。这是我正在尝试做的一个例子。
在存储过程中,我们有以下 select * from vmdproduction.test.dbo.table1,我想在所有存储过程的所有情况下将 vmdproduction 重命名为生产。
谢谢
我就是这样做的... 在 Management Studio 中,右键单击您的数据库,选择 Tasks,Generate Scripts。通过向导并确保包括所有存储过程和“脚本 DROP 和 CREATE”(在高级选项下)。这将生成一个脚本文件,该文件将删除并重新创建所有程序。然后,您可以在运行脚本之前进行查找和替换。一定要在运行它之前备份数据库!
使用 SQL Server Management Studio
修改 Management Studio 中的过程
1.在对象资源管理器中,连接到数据库引擎的一个实例,然后展开该实例。
2.展开'Databases',展开程序所属的数据库,再展开'Programmability'。
3.展开“存储过程”,右键单击要修改的过程,然后单击“修改”。
4.修改存储过程的文本。
5.要测试语法,在“查询”菜单上,单击“解析”。
6.要保存对程序定义的修改,在“查询”菜单上,“执行”。
7.要将更新的过程定义保存为 Transact-SQL 脚本,在“文件”菜单上,单击“另存为”。接受文件名或将其替换为新名称,然后单击“保存”。