使用 SQL Server Management Studio 2012,我正在尝试创建本地数据库的副本。我发现了一些解决方案的变体。其中之一 - 将数据库备份和恢复为新的 - HERE。
当前使用 name 创建数据库备份Rewards2_bak
。此文件副本放入系统目录C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\
下一步 - 创建查询以将数据库还原为现有数据库的副本
GO
use master
RESTORE FILELISTONLY
FROM Rewards2_bak
RESTORE DATABASE Rewards2_Copy
FROM Rewards2_bak
WITH RECOVERY,
MOVE 'Rewards2_data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\Rewards2_copy.mdf',
MOVE 'Rewards2_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\Rewards2_log_copy.ldf'
GO
出错了,我没有备份设备Rewads2_backup
。我是对的,在这种情况下,我可以使用文件,也可以使用文件位置?想想少了点什么……
用于创建备份使用下一个查询(一切正常)
USE Rewards2;
GO
BACKUP DATABASE Rewards2
TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\Rewards2_bak.bak'
WITH FORMAT,
MEDIANAME = 'SQLServerBackups',
NAME = 'Full Backup of Rewards2';
GO
也尝试使用 SQL Server 2012Task --> Backup
和中的工具Task --> Restore
,但出现错误 - 无法创建备份。(以管理员权限启动的程序)
这是我如何配置还原以复制的屏幕
但我有错误,我无法覆盖数据库文件Rewards2
。Rewards2
这是一个问题 -如果我输入新的数据库名称,它为什么要覆盖Rewards2_copy
。还是我理解错了?
舒尔,还有一些可能的变体来制作数据库的副本,但真的想为这个解决方案找到问题。我在哪里犯错/我忘记了什么或不明白什么。