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

1)创建每个目标数据库
2)使用“ 任务 - >导出数据 ”命令分别为每个数据库创建和填充表
3)使用SQL脚本重建每个数据库的所有索引

每个数据库只有三个步骤,但我敢打赌,这是一种更简单的方法。 有任何MS SQL Server专家有什么建议吗?

===============>>#1 票数: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

===============>>#2 票数:14

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

===============>>#3 票数:4

为了方便

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

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

===============>>#4 票数:4

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

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

===============>>#5 票数:2

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

简单的SQL BULK复制

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

===============>>#6 票数:2

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

===============>>#7 票数:2

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

===============>>#8 票数:1

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

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

===============>>#9 票数:0

检查这些链接:

===============>>#10 票数:0

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

===============>>#11 票数:0

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

  ask by ryan_s translate from so

未解决问题?本站智能推荐:

1回复

有没有办法掩盖SQL Server中的整个数据库?

我是SQL Server的新手,现在有一个数据库,其中存储了数千个表。 我想复制此数据库并将此副本传递给其他供应商,但是出于安全方面的考虑,我想屏蔽表中的所有字段。 供应商实际上并不关心表中存储了什么,但是他们确实关心表的结构或分布。 想法是复制当前数据库,然后进行屏蔽。 但是我不知
1回复

SQL Server事务-整个数据库已锁定?

我对特定的SQL Server 2008客户安装有问题。 我写了下面的代码来模拟在更复杂的系统中发生的问题。 打开了两个连接(每个连接都有自己的事务),每个连接都修改一个表。 修改后的表彼此不相关。 在开发平台和其他现有客户安装上,代码可以正常工作。 仅在一个特定的客户,我们有一个问题
1回复

如何将整个数据库复制到同一服务器上的另一个数据库?

我想将数据库A完全复制到数据库B(相同的SQL Server)中,这样做最简单的SQL或实用程序命令是什么? (复制前应100%擦除数据库B) 请注意,它可以是非SQL的东西,但是无论如何我都需要一键运行它。 因此,就我可以单击或从命令行运行复制而言,某些实用程序也可以接受。 S
2回复

使用Python将表从一个数据库复制到SQL Server中的另一个数据库

有谁知道可以在SQL Server中将大量表(大约100个表)从一个数据库复制到另一个数据库的良好Python代码吗? 我问是否有一种在Python中完成此操作的方法,因为由于工作地点的限制,我无法仅在SQL Server内部跨数据库复制表。 这是一个简单的Python代码,它将一个
5回复

SQL Server:将架构更改复制到另一个数据库

我正在研究ASP.NET Web API中的一个需求,它需要两个相同的数据库。 我在同一台服务器上创建了两个相同的数据库。 假设一个用于开发,另一个用于测试。 我想立即将所有模式(如存储过程,视图和表)从另一个数据库复制到另一个数据库。 我并不担心数据复制,我只需要确保两个数
2回复

跟踪MS SQL Server 2000中的数据库架构更改

我们在MS SQL Server 2000中有一个数据库。 一个表中的一列有一天消失了,我不知道它为什么会发生或者什么时候发生。 (请不要笑,这是一个旧应用程序,架构设计不如我想象的那么好。我是该应用程序的新支持人员。) 您知道如何跟踪MS SQL Server 2000的数据库模
3回复

在实时环境中修补MS-SQL-Server数据库

我有一个使用MS-SQL-Server来存储其数据的应用程序。 我们将分几个步骤推出该应用程序,以便用户可以测试第一个基本功能,并随着时间的推移添加功能。 可能这将导致数据库更改。 在早期阶段,我们可以删除整个数据库并使用脚本重新创建所有内容。 但是最终,用户希望保留其测试数据。
3回复

在SQL Server中作为一个数据库访问各种数据库

我在SQL Server中有两个不同的数据库,可以说db1和db2,我需要在它们之间联接数据,但是使用我的只能访问db1的应用程序。 因此,我想到了两种可能性:第一种是在db 1中创建一个从db 2读取数据的视图。第二种是创建某种逻辑或虚拟数据库(例如db3),以便我可以访问db1和db2
1回复

将数据库导入MS SQL Server

我正在尝试将数据库从phpmyadmin导入到sql服务器,但是在尝试执行sql代码创建数据库时遇到此错误: 这是数据库:
2回复

在SQL Server 2014中复制数据库

我有一个实时数据库。 我需要使用来自实时数据的所有数据创建一个测试数据库,但我已经遇到了错误。 我试图通过从“实时数据库.bak”恢复来创建这个新的,但是出现了一条错误消息,说明由于数据库正在使用而无法执行此过程。 此外,我不知道为什么,但在那之后,实时数据库开始恢复并继续保持直到卡住。