![如何在同一台服务器或其他服务器上复制 MSSQL 数据库?](https://linux22.com/image/794876/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%90%8C%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%88%96%E5%85%B6%E4%BB%96%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E5%A4%8D%E5%88%B6%20MSSQL%20%E6%95%B0%E6%8D%AE%E5%BA%93%EF%BC%9F.png)
我正在尝试完成以下任务:
- 拍摄原始数据库的快照,在另一台服务器上创建并复制一份?
- 拍摄原始数据库的快照,在同一台服务器上以不同的数据库名称创建副本
但是,由于我对 MSSQL 的经验非常有限,所以我不能。有什么建议吗?
附加信息:
原始数据库服务器:SQL Server 2000
目标数据库服务器:SQL Server 2005
答案1
答案2
添加此内容是因为我在执行上述步骤时偶然发现了这一点。
在 SQL Server 2008 R2 中,至少您可以跳过获取服务器本地备份的步骤。
- 右键单击数据库
- 单击“恢复数据库”..
- 将“从数据库”选项设置为要复制的数据库
- 将“数据库”选项设置为新名称
- 单击“确定”
答案3
这可能是最好的解决方案:
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'
答案4
使用 MS SQLServer 2012,您需要执行 3 个基本步骤:首先,生成仅包含源数据库结构的 .sql 文件 => 右键单击源数据库,然后单击任务,然后生成脚本 => 按照向导操作,您就可以在本地保存 .sql 文件;其次,在 .sql 文件中将源数据库替换为目标数据库 => 右键单击目标文件,然后按新建查询和 Ctrl-H 或(编辑 - 查找和替换 - Quack replce)最后,填充数据 => 右键单击目标数据库,然后单击任务,然后导入数据 => 将数据源下拉设置为“sql server 的 .net framework 数据提供者”+ 在 DATA 下设置连接字符串文本字段,例如:Data Source=Mehdi\SQLEXPRESS;Initial Catalog=db_test;User ID=sa;Password=sqlrpwrd15 => 对目标执行相同操作 => 检查要传输的表或选中“源:.....”旁边的复选框以选中所有
你完成了。