我需要将大约 40 个数据库从一台服务器复制到另一台服务器。新数据库应该有新的名称,但所有的表、数据和索引都与原始数据库相同。到目前为止,我一直:
1) 创建每个目标数据库
2) 使用“ Tasks->Export Data ”命令分别为每个数据库创建和填充表
3) 使用 SQL 脚本重建每个数据库的所有索引
每个数据库只有三个步骤,但我敢打赌有一个更简单的方法。那里有任何 MS SQL Server 专家有什么建议吗?
我需要将大约 40 个数据库从一台服务器复制到另一台服务器。新数据库应该有新的名称,但所有的表、数据和索引都与原始数据库相同。到目前为止,我一直:
1) 创建每个目标数据库
2) 使用“ Tasks->Export Data ”命令分别为每个数据库创建和填充表
3) 使用 SQL 脚本重建每个数据库的所有索引
每个数据库只有三个步骤,但我敢打赌有一个更简单的方法。那里有任何 MS SQL Server 专家有什么建议吗?
鉴于您在多个数据库上执行此操作——您需要一个简单的脚本解决方案,而不是点击式解决方案。
这是我保留的备份脚本。让它为一个文件工作,然后为多个文件修改它。
(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
也许最简单的是分离/重新连接。右键单击数据库上的服务器管理器,任务 --> 分离。然后将 MDF/LDF 文件复制到新服务器,然后通过单击服务器图标和任务--> 附加重新附加。它会要求您提供 MDF 文件 - 确保名称等准确无误。
为了方便
考虑目标服务器上的权限、用户和组的事情,尤其是。如果您正在转移或恢复。
已经有更好的答案,但这是一个“也跑”,因为它只是另一种选择。
对于免费的低价,您可以查看Microsoft SQL Server 数据库发布向导。此工具允许您编写模式、数据或数据和模式的脚本。Plus 可以从 UI 或命令行运行<-想想 CI 过程。
备份 -> 恢复是最简单的,如果不使用复制的话。
如果您使用备份/恢复解决方案,您可能会有孤立的用户,因此请务必查看这篇关于如何修复它们的文章<microsoft>。
使用企业管理器中的标准 SQL 备份工具备份数据库,然后当您在第二台服务器上恢复时,您可以指定新数据库的名称。
这是完整维护模式的最佳方式。
使用备份将数据库恢复到具有新名称的新服务器。
Redgate SQL 比较和 SQL 数据比较。迄今为止,比较捆绑包是我为之工作的公司所做的最好的投资。移动电子培训内容轻而易举。
检查这些链接: