我正在尝试恢复RavenDb的备份。
RavenDb版本: RavenDB-Build-2380
操作系统: Win8
来自文档。我试过以下,
Raven.Server.exe -src [backup location] -dest [restore location] -restore
这是在离线模式下工作,我收到了成功消息,但我无法在Raven Studio中查看。
当我检查恢复的文件夹时,看起来很奇怪。
测试 - 我通过Raven工作室创建的数据库
恢复
Test2 - 数据库I通过命令
图标看起来不同。当我检查Raven Studio时,不会显示Test2数据库。
更新:忘了提及它。
还尝试对我已恢复的数据库中的data
进行去碎片化。
esentutl /d Data
这真让我疯狂。
请分享您的建议。
提前致谢。
答案 0 :(得分:1)
文档对此非常清楚。 摘自http://ravendb.net/docs/server/administration/backup-restore:
恢复数据库是一种脱机操作,它无法在正在运行的RavenDB实例上运行。
Raven.Server.exe -src [backup location] -dest [restore location] -restore
如果还原位置不存在,RavenDB将创建它。
如果检测到还原操作将覆盖现有数据,则无法还原到现有数据库数据目录,还原操作将失败。如果需要还原到现有数据库数据目录,请关闭数据库实例并删除数据目录。
因此,如果您有一个数据库“Test”,您有备份,并且您想要还原该数据库的备份,则必须删除(或重命名)该数据库的数据目录(“Test”)在这种情况下)。 RavenDb可能没有运行(=离线)进行恢复。
答案 1 :(得分:0)
您是否正在将备份映像恢复到首先创建备份映像的同一台计算机上?
请记住备份are not backward compatible。
向后兼容性
RavenDB依靠OS服务来管理数据存储和备份。这些服务是向前兼容的(如果您在Windows XP上备份,您可以在Windows 7上进行恢复)但不向后兼容(如果您在Windows 2008上备份,则无法在Windows 2003上进行恢复)。
将来,如果您需要将映像还原到具有较旧操作系统版本的计算机,请使用导入/导出功能。
如果您希望在不同的操作系统版本之间移动数据库内容,则应使用导入/导出功能,使用Raven.Smuggler完成。