我需要将大约40个数据库从一台服务器复制到另一台服务器。新数据库应具有新名称,但与原始数据库具有相同的表,数据和索引。到目前为止我一直在:
1)创建每个目标数据库
2)使用“Tasks->Export Data”命令为每个数据库单独创建和填充表
3)使用SQL脚本重建每个数据库的所有索引
每个数据库只有三个步骤,但我敢打赌,这是一种更简单的方法。那里的MS SQL Server专家有什么建议吗?
答案 0 :(得分:44)
鉴于您在多个数据库上执行此操作 - 您需要一个简单的脚本解决方案,而不是点击解决方案。
这是我保留的备份脚本。 让它适用于一个文件,然后对其进行修改。
(on source server...)
BACKUP DATABASE Northwind
TO DISK = 'c:\Northwind.bak'
(target server...)
RESTORE FILELISTONLY
FROM DISK = 'c:\Northwind.bak'
(look at the device names... and determine where you want the mdf and
ldf files to go on this target server)
RESTORE DATABASE TestDB
FROM DISK = 'c:\Northwind.bak'
WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',
MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'
GO
答案 1 :(得分:14)
也许最容易分离/重新连接。右键单击DB上的服务器管理器,任务 - >分离。然后将MDF / LDF文件复制到新服务器,然后通过单击服务器图标和任务 - > gt; attach重新附加。它会询问您MDF文件 - 确保名称等准确无误。
答案 2 :(得分:4)
为了轻松
要考虑目标服务器上的权限,用户和组的事项。如果您正在转移或恢复。
答案 3 :(得分:4)
已经有更好的答案,但这是'也跑',因为它只是另一种选择。
对于免费的低价格,您可以查看Microsoft SQL Server Database Publishing Wizard。此工具允许您编写架构,数据或数据和架构的脚本。 Plus可以从UI或命令行运行< - 思考CI流程。
答案 4 :(得分:2)
备份 - >如果不使用复制,则还原是最简单的。
答案 5 :(得分:2)
如果您使用备份/还原解决方案,则可能会有孤儿用户,因此请务必查看this article< microsoft>如何解决它们。
答案 6 :(得分:2)
答案 7 :(得分:1)
使用Enterprise Manager中的标准SQL备份工具备份数据库,然后在第二台服务器上还原时,可以指定新数据库的名称。
这是完整维护架构的最佳方式。
答案 8 :(得分:0)
使用备份将数据库还原到具有新名称的新服务器。
答案 9 :(得分:0)
Redgate SQL Compare和SQL数据比较。对比套装是迄今为止我工作过的最好的投资公司。移动电子培训内容轻而易举。
答案 10 :(得分:0)