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

标签 sql-server database

我需要将大约 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

关于sql-server - 如何最好地复制 MS SQL Server 中的整个数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/79669/

相关文章:

sql-server - SQL72028 SSDT 中的构建错误

sql-server - 获取未确定长度的子字符串,从字符串末尾开始

sql-server - 删除 SQL 查询中的小数点

php - SQL 数据 : HTML Table display of column data containing multiple rows

jquery从数据中选择索引并显示sql内容

c# - 关联表和 Linq to Sql

.net - 通过 SSIS 目录管理对象模型以编程方式验证 SSIS 2012 包

database - 如何将数据从一个数据库复制到不同服务器上的另一个数据库?

mysql - 将 'x.frm' 重命名为 'y.frm' 时出错 - 错误代码 : 13 - Permission denied - MySQL

java - 寻找存储文件名的正确解决方案