我有两个数据库DB1和DB2。现在DB1中有一些与DB2相关的存储过程和视图,如下所示:
SELECT ....
FROM DB1.TableA INNER JOIN DB2.TableB
.....
现在,因为我必须使用脚本将这两个数据库移动到另一台服务器。我必须确保如果我正在运行DB2脚本,我将首先运行DB1对象的脚本。我不确定我是否可以逐个运行脚本,还是需要准备一个基于依赖项的脚本?
有什么建议吗?
答案 0 :(得分:0)
如果您想生成用于移动数据的脚本,我建议您使用任务 - >在要移动的数据库上生成脚本选项。您可以选择是编写脚本数据和模式,还是仅编写模式,脚本索引,外键关系等。快速指南:
如果我是你,我会下载 RedGate SQL Compare 的试用版。它有2个工具,称为Schema Compare和Data Compare,它允许您比较2个数据库,并明智地同步它们的架构和数据。它是一个出色的工具,我们每天都使用它来确保我们的数据库同步。
此外,如果您设置了如上所述设置的链接服务器(DB1引用DB2),那么当网站上的流量较低时,将两个数据库脱机可能是值得的。 或者,您可以使用SQL比较/生成脚本为DB1和DB2创建副本,然后在将连接字符串移植到新服务器后将其切换为指向副本。这样,交换机是即时的,您不必使数据库脱机。