Я прочитал документ Backup and Restore на веб-сайте RavenDB и попробовал его в своем коде.Как использовать DocumentDatabase.StartBackup() в сочетании с RavenDB EmbeddableDocumentStore?
В документ мы имеем:
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;' он был там. Спасибо Айенде еще раз ... ты парень! :-) –
Просто следуйте за Айенде: где я должен позвонить StartBackup()? Я разместил его после '_documentStore.Initialize();' просто проверить и создал папку Backup, но содержит только 2 папки: IndexDefinitions и Index. Данные не архивируются ... –
Интересно, что через некоторое время я увидел, что он создал еще одну папку с именем new с тремя файлами: Data, Data.pat и RVN00002.log. Это все, что мне нужно для восстановления БД в случае сбоя? :) –