2015-01-07 71 views
1

我們在NServiceBus中使用RavenDB。 我嘗試將RavenDB從2.0更新到3.0。按照文檔,應該很容易: 1.停止服務 2.複製二進制文件 3.啓動服務。更新RavenDB的問題

我做了所有這些。我將服務器文件夾中的二進制文件(Raven.Database.Dll,Raven.Abstractions.dll,Raven.server.exe)複製到「\ C:\ Program Files \ NServiceBus.Persistence.v4」。

當我嘗試再次啓動服務時,它會立即停止。文件權限似乎沒問題。有沒有可以獲取更多信息的日誌文件?

[更新] 事件日誌示出了:

應用:Raven.Server.exe Framework版本:v4.0.30319 說明:該過程由於未處理的異常終止。 異常信息:System.IO.FileLoadException堆棧:在 Raven.Server.Program.Main(System.String [])

什麼是奇怪的,導致框架4.5安裝(和其他應用程序使用)

回答

0

好的。第一個事件日誌導致COMPLETE錯誤的方向。 :)似乎是後續錯誤。事件日誌也有一個較舊的錯誤消息:

RavenDB service failed to start because of an error 
System.InvalidOperationException: Could not open transactional storage: C:\Program Files\NServiceBus.Persistence.v4\Database\System\Data ---> System.InvalidOperationException: Could not read db details from disk. It is likely that there is a version difference between the library and the db on the disk. 
You need to migrate the disk version to the library version, alternatively, if the data isn't important, you can delete the file and it will be re-created (with no data) with the library version. ---> System.InvalidOperationException: The version on disk (5.1) is different that the version supported by this library: 4.5 

非常清楚該怎麼做。謝謝。

0

注意 - 我的解決方案不適用於您的主NServiceBus數據庫。不要刪除你的數據。此解決方案適用於存儲數據不太重要的ServiceControl。

我最近與ServiceControl - NServiceBus附帶的監視工具之一,這個問題。它將消息保存在位於C:\ ProgramData \ Particular \ ServiceControl%-33333 \ Data的本地數據庫中。數據

原來硬盤已滿。必須刪除包含異常中提到的數據文件的文件夾以騰出空間(這是11GB)。然後,我添加了以下應用程式的設定ServiceControl.exe.config爲了限制的消息,它就會保持量:

<add key="ServiceControl/ExpirationProcessTimerInSeconds" value="900" /> 
<add key="ServiceControl/HoursToKeepMessagesBeforeExpiring" value="168" /> 

http://docs.particular.net/servicecontrol/how-purge-expired-data

的ServiceControl在啓動時將重新創建該文件夾。