繁体   English   中英

如何最好地复制MS SQL Server中的整个数据库?

[英]How best to copy entire databases in MS SQL Server?

我需要从一台服务器复制大约40个数据库到另一台服务器。 新数据库应具有新名称,但与原始数据库具有相同的表,数据和索引。 到目前为止我一直在:

1)创建每个目标数据库
2)使用“ 任务 - >导出数据 ”命令分别为每个数据库创建和填充表
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

也许最容易分离/重新连接。 右键单击DB上的服务器管理器,任务 - >分离。 然后将MDF / LDF文件复制到新服务器,然后通过单击服务器图标和任务 - >附加来重新附加。 它会询问您MDF文件 - 确保名称等是准确的。

为了方便

  • 停止服务器/ fcopy / attach可能是最简单的。
  • 备份/恢复 - 可以完成断开连接非常简单和容易
  • 转移DTS任务 - 需要文件复制权限
  • 复制 - 从简单到设置最远

要考虑目标服务器上的权限,用户和组的事情。 如果您正在转移或恢复。

已有更好的答案,但这是一个'也跑',因为它只是另一种选择。

对于免费的低价格,您可以查看Microsoft SQL Server数据库发布向导 此工具允许您编写架构,数据或数据和架构的脚本。 Plus可以从UI或命令行运行< - 思考CI过程。

另一个快速简单的检查方法:

简单的SQL BULK复制

http://projects.c3o.com/files/3/plugins/entry11.aspx

备份 - >还原是最简单的,如果不使用复制。

如果您使用备份/还原解决方案,则可能会有孤立用户,因此请务必查看本文 <microsoft>,了解如何解决这些问题。

使用Enterprise Manager中的标准SQL备份工具备份数据库,然后在第二台服务器上还原时,可以指定新数据库的名称。

这是完整维护模式的最佳方法。

使用备份将数据库还原到具有新名称的新服务器。

Redgate SQL比较和SQL数据比较。 对比套装是迄今为止我工作过的最好的投资公司。 移动电子培训内容轻而易举。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM