it-swarm.cn

如何在同一台或另一台服务器上复制MSSQL数据库?

我正在尝试完成以下任务:

  1. 拍摄原始数据库的快照,然后在另一台服务器上创建副本并进行精确复制?
  2. 拍摄原始数据库的快照,在同一服务器上以不同的数据库名称创建副本

但是,由于不能使用MSSQL,我不能这样做。有什么建议么?

附加信息:

原始数据库服务器:SQL Server 2000

目标数据库服务器:SQL Server 2005

15
Alex N
  1. 备份数据库
  2. 以新名称和/或在另一台服务器上还原数据库

可以从企业管理器(SQL2000)或它的替代SQL Management Studio(SQL2005 +)或TSQL命令 [〜#〜] backup [〜#〜][ 〜#〜] restore [〜#〜]

注意:在大多数情况下,您可以在SQL2005上还原从SQL2000备份的数据库,但在大多数情况下都不会出现问题,但是反之亦然。

17
David Spillett

在按照上述步骤操作时,我偶然发现了这一点。
至少在SQL Server 2008 R2中,您可以跳过获取服务器本地备份的步骤。

  1. 右键单击数据库
  2. 单击还原数据库。
  3. 将“从数据库”选项设置为要复制的数据库
  4. 将“到数据库”选项设置为新名称
  5. 点击确定
7
Chris

可能这是最好的解决方案:

1)在源数据库服务器上-创建到本地文件的备份

DECLARE @fileName nvarchar(400);
DECLARE @DB_Name nvarchar(50);

SET @DB_Name = 'NameOfSourceDatabase'
SET @fileName = 'c:\Test\original.bak'

BACKUP DATABASE @DB_Name TO DISK = @fileName

2)将源文件复制到目标服务器。
如果两个服务器都在同一台计算机上,则可能要创建该文件的副本:

EXEC master.dbo.xp_cmdshell 'COPY c:\Test\original.bak   c:\Test\clone.bak'

3)在上目标数据库服务器:从备份文件还原数据库

RESTORE DATABASE CloneDB

FROM DISK='c:\Test\clone.bak'
5
Stefano Rosati

使用MS SQLServer 2012,您需要首先执行3个基本步骤,生成仅包含源DB结构的.sql文件=>右键单击源DB,然后单击“任务”,然后单击“生成脚本” =>遵循向导,您可以保存本地的.sql文件其次,在.sql文件中用目标一个替换源db =>右键单击目标文件,然后按New Query和Ctrl-H或(编辑-查找并替换-Quack replce),最后填充数据=>右键单击目标数据库,然后单击“任务”,然后单击“导入数据” =>数据源下拉菜单设置为“用于sql server的.net框架数据处理程序” +在DATA ex下设置连接字符串文本字段:Data Source = Mehdi\SQLEXPRESS;初始目录= db_test;用户ID = sa;密码= sqlrpwrd15 =>与目标相同=>选中要传输的表或选中“ source:...”旁边的复选框以检查所有这些

你完成了。

0
Mehdi Benkirane