在sql server中创建数据库脚本

时间:2012-11-16 05:48:36

标签: sql-server-2008

我有两个数据库DB1和DB2。现在DB1中有一些与DB2相关的存储过程和视图,如下所示:

SELECT ....
FROM DB1.TableA INNER JOIN DB2.TableB 
.....

现在,因为我必须使用脚本将这两个数据库移动到另一台服务器。我必须确保如果我正在运行DB2脚本,我将首先运行DB1对象的脚本。我不确定我是否可以逐个运行脚本,还是需要准备一个基于依赖项的脚本?

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果您想生成用于移动数据的脚本,我建议您使用任务 - >在要移动的数据库上生成脚本选项。您可以选择是编写脚本数据和模式,还是仅编写模式,脚本索引,外键关系等。快速指南:

http://blog.sqlauthority.com/2011/05/07/sql-server-2008-2008-r2-create-script-to-copy-database-schema-and-all-the-objects-data-schema-stored-procedure-functions-triggers-tables-views-constraints-and-all-other-database-objects/

如果我是你,我会下载 RedGate SQL Compare 的试用版。它有2个工具,称为Schema Compare和Data Compare,它允许您比较2个数据库,并明智地同步它们的架构和数据。它是一个出色的工具,我们每天都使用它来确保我们的数据库同步。

此外,如果您设置了如上所述设置的链接服务器(DB1引用DB2),那么当网站上的流量较低时,将两个数据库脱机可能是值得的。 或者,您可以使用SQL比较/生成脚本为DB1和DB2创建副本,然后在将连接字符串移植到新服务器后将其切换为指向副本。这样,交换机是即时的,您不必使数据库脱机。

相关问题