如何将DocumentDatabase.StartBackup()与RavenDB EmbeddableDocumentStore结合使用?

时间:2012-02-06 06:11:23

标签: automation backup ravendb embedded-database document-store

我在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服务器?

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

1 个答案:

答案 0 :(得分:4)

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

 embeddableDocumentStore.DocumentDatabase.StartBackup(...);