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

我正在努力完成以下内容:

  1. 拍摄原始数据库的快照,在另一台服务器上创build并确定一个副本?
  2. 拍摄原始数据库的快照,在同一台服务器上以不同的数据库名称创build副本

但是,我不能因为MSSQL的经验非常有限。 有什么build议么?

附加信息:

起源数据库服务器:SQL Server 2000

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

  1. 备份数据库
  2. 以新名称和/或另一台服务器恢复数据库

这两个操作都可以从企业pipe理器(SQL2000)或其替代的SQL Management Studio(SQL2005 +)或TSQL命令BACKUP和RESTORE执行 。

注意:在大多数情况下,您可以在SQL2005上恢复从SQL2000备份的数据库,而不是在大多数情况下,而不是相反。

添加这个,因为我偶然发现了上面的步骤。
在SQL Server 2008 R2中,至less可以跳过一个步骤来获取本地服务器的备份。

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

可能这是最好的解决scheme:

1)在源数据库服务器上 – 创build备份到本地文件

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)将源文件复制到目标服务器。
如果两台服务器位于同一台计算机上,则可能需要创build该文件的副本:

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

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

 RESTORE DATABASE CloneDB FROM DISK='c:\Test\clone.bak' 

使用MS SQLServer 2012,首先需要执行3个基本步骤,生成仅包含源数据库结构的.sql文件=>右键单击源数据库,然后select任务然后生成脚本=>按照向导,你可以保存.sql文件在本地其次,用.sql文件replace源数据库与目的地的一个=>右键单击目标文件,然后按新build查询和Ctrl-H或(编辑 – 查找和replace – 奎克replce)最后,填充数据=>右键单击删除数据库,然后任务,然后导入数据=>数据源下拉列表设置为“.net框架数据处理器的SQL Server”+设置连接string文本字段下的数据例如:数据源= Mehdi \ SQLEXPRESS;初始目录= db_test;用户ID = sa;密码= sqlrpwrd15 =>与目的地相同=>检查您要传输的表格或除“source:…..”之外的checkbox以检查所有这些

你完成了。