我创建了一个新数据库(从生产数据库开发)。这些数据库具有不同的名称,现在我的过程中的插入和更新语句以生产数据库名称为前缀。我怎样才能改变这个而不是手动做。
问问题
37 次
2 回答
1
把程序和函数写出来,然后在文本文件中搜索替换,然后应用到新的db上?您可以轻松地自动化所有这些。
- 使用 Sql Management studio 抓取所有程序的脚本。或者编写一个 powershell 脚本来使用 sql SMO API来执行此操作
- 使用 sed 命令行对文件进行搜索和替换。
- 使用 SQL 脚本恢复数据库(您可以使用 SQL 管理工作室进行操作并同时编写脚本)。
- 使用SQLCMD在新数据库中运行修改后的脚本
于 2010-08-31T09:39:02.510 回答
0
我认为 Preet 的方法是正确的。这是一种理论上应该可行的方法(尽管我自己没有尝试过)。
您可以通过单击 SSMS 中的“存储过程”节点来编写所有过程的脚本,然后从“对象资源管理器详细信息”窗格(“查看”菜单)中将它们全部选中。右键单击并选择 Script Stored Procedure 作为 CREATE To New Query Window(令人讨厌的是您不能选择 ALTER)。进行搜索替换并将“CREATE PROC”更改为“ALTER PROC”。现在进行搜索和替换以整理出所有不正确的数据库引用。然后运行查询...
祝你好运!
于 2010-09-16T22:26:22.373 回答