我在RavenDB网站上阅读了Backup and Restore文档,并在代码中进行了尝试。

在文档中,我们有:


启动备份

在嵌入式模式下运行时,您只需要调用该方法
DocumentDatabase.StartBackup()。


上面的代码行不会编译并显示错误:

An object reference is required for the non-static field, method, or property
'Raven.Database.DocumentDatabase.StartBackup(string, bool)'


所以我尝试了这个只是为了测试:

new DocumentDatabase(_documentStore.Configuration).
                                               StartBackup(@"~\App_Data\Backup", true);


代码可以编译,但是当应用程序启动时,出现此错误:

Could not open transactional storage: C:\Project\trunk\MyApp\App_Data\Database\Data


有人可以分享一些工作代码,说明如何对在线嵌入式文档存储进行完整备份吗?如果不使用RavenDB服务器,是否有可能?

我唯一的选择是手动备份数据库文件夹?

最佳答案

蕾妮尔
您需要在运行的实际实例上使用StartBackup方法。
如果使用的是EmbeddableDocumentStore,则需要执行以下操作:

 embeddableDocumentStore.DocumentDatabase.StartBackup(...);

10-04 12:46