我需要为 Windows Server 2003 上的 SQL Server 数据库制作一个可用的副本,用于测试目的。企业管理器中内置了一个备份工具,但我似乎无法使用它。
我尝试过“右键单击数据库 -> 所有任务 -> 添加... -> 输入新名称 D:\Whatever\20110803.bak-> 确定
但收到了消息
Microsoft SQL-DMO (OCBD SQLSTATE:42000)
设备“D:\whatever\”上的卷preexistant.bak不是多系列媒体集的一部分。可以使用 BACKUP WITH FORMAT 来形成新的媒体集。
备份数据库异常终止 | 确定
问:什么是多系列媒体集,为什么如果我要创建新备份,需要将旧的现有备份文件作为多系列媒体集?
问:什么是格式化备份?我很确定我不想格式化任何东西。再次,我正尝试创建一个新的备份文件。
我单击“确定”并看到“目的地”列表中出现了一个新的目的地,因此我选择它并单击“确定”。
我收到以下消息:
Microsoft SQL-DMO(ODBC SQLState:42000)
无法打开备份设备“D:\whatever\preexistant.bak。设备错误或设备脱机。有关更多详细信息,请参阅 SQL Server 错误日志。
BACKUP DATABASE 正在异常终止。| 确定
问:这些错误日志在哪里?
答案1
我只需将其分离,然后将 .mdf 和 .ldf 复制到新位置即可。我一直这样做。分离后,它们就像普通文件一样。我这样做是因为这样速度快得多。
如果我无法将其脱机,我通常只使用我的备份软件(通常是 Backup Exec)通过将还原重定向到新位置来制作新副本(确保您不会覆盖原始位置)。
答案2
比起解释 UI,打开一个查询窗口并使用 SQL 可能更容易:
backup database DatabaseName
to disk = 'path-of-backup=file'
with format, name='backup-name', copy_only
要恢复到新数据库:
- 右键单击 SQL Management Studio 的对象资源管理器中的数据库节点并选择“还原”。
- 在“目标数据库”中输入新数据库的名称
- 选择“从设备”并使用“...”按钮添加备份文件并返回主对话框。
- 在列表框中选择要恢复的备份(可能只有一个)
如果您需要经常执行此操作,我会使用恢复对话框中的“脚本”选项来生成 SQL,这样可以更快地重新使用。