在 SQL 2005 上从生产环境创建开发环境
我创建了一个新数据库(从生产数据库开发)。这些数据库具有不同的名称,现在我的过程中的插入和更新语句都以生产数据库名称为前缀。我怎样才能改变这个而不是手动做呢?
I have created a new database(development from production DB). These DBs have different names and now insert and update statements in my procedures are prefixed with the production database name. How can i change this rather than doing it mannually.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将程序和函数编写成脚本,然后在文本文件中搜索和替换,然后应用到新数据库?您可以轻松地实现所有这些自动化。
所有程序的脚本。或者编写一个 powershell 脚本来使用 sql SMO API 执行此
sed 命令行进行搜索和
替换文件。
使用 SQL 脚本(您可以使用 SQL
管理工作室做
操作并同时编写脚本
时间)。
新数据库中的脚本
Script the procedures and functions out and then search and replace in the text file, and then apply to the new db? You can automate all of that easily.
script of all the procedures. Or write a powershell script to use the sql SMO API to do this
sed command line to do search and
replace over the file.
using a SQL script (you can use SQL
management studio to do the
operation and script it at the same
time).
script in the new DB
我认为普雷特的做法是正确的。这是一种理论上应该可行的方法(尽管我自己没有尝试过)。
您可以通过单击 SSMS 中的“存储过程”节点编写所有过程的脚本,然后从“对象资源管理器详细信息”窗格(“视图”菜单)中选择所有过程。右键单击并选择将存储过程编写为“创建到新查询窗口”(令人烦恼的是,您无法选择“更改”)。进行搜索替换并将“CREATE PROC”更改为“ALTER PROC”。现在进行搜索和替换,以找出所有不正确的数据库引用。然后运行查询...
祝你好运!
I think that Preet has the right approach. Here is a way that should work in theory (although I've not tried it myself).
You could script out all your procedures by clicking on the Stored Procedures node in SSMS, then from the Object Explorer Details pane (View menu) you can select them all. Right click and choose Script Stored Procedure as CREATE To New Query Window (annoyingly you can't choose ALTER). Do a search replace and change "CREATE PROC" to "ALTER PROC". Now do your search and replace to sort out all the incorrect database references. Then run the query...
Good luck!