RavenDBのウェブサイトのBackup and Restore文書を読んで、自分のコードで試しました。RavenDB EmbeddableDocumentStoreと組み合わせてDocumentDatabase.StartBackup()を使用するにはどうすればよいですか?
我々が持っているドキュメントでは:
Initiating a backup
When running in embedded mode, all you need is to call the method 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サーバを使わなくても可能ですか?
私の唯一の選択肢は、データベースフォルダの手動バックアップです。
ああ、私は参照してください。今私は間違っていることを知っている。私は 'private static IDocumentStore _documentStore;'として宣言された埋め込みドキュメント格納変数を持っていました。私はDocumentDatabaseのメンバーを見つけようとしましたが、見つけられませんでした。私は怖がっていた... heheheそれを 'private static EmbeddableDocumentStore _documentStore;に変更した後、それはちょうどそこにあった。ありがとうございましたAyendeもう一度...あなたは男です! :-) –
ちょっとフォローアップAyende:どこでStartBackup()を呼びますか? '_documentStore.Initialize();'の後に配置してテストするだけで、Backupフォルダが作成されましたが、IndexDefinitionsとIndexという2つのフォルダしかありません。データはバックアップされていません... –
ちょっと時間がたっても面白かったので、データ、Data.pat、RVN00002.logという3つのファイルを持つnewというフォルダがもう1つ作成されたことが分かりました。障害発生時にDBを復元するために必要なことは何ですか? :) –