首页 文章

更新RavenDB的问题

提问于
浏览
1

我们在NServiceBus中使用RavenDB . 我尝试将RavenDB从2.0更新到3.0 . 在文档之后,它应该非常简单:1 . 停止服务2.复制二进制文件3.启动服务 .

我做了那一切 . 我将二进制文件(Raven.Database.Dll,Raven.Abstractions.dll,Raven.server.exe)从Server-Folder复制到“\ C:\ Program Files \ NServiceBus.Persistence.v4” .

当我尝试再次启动服务时,它会立即停止 . 文件权限似乎没问题 . 有没有我可以获得更多信息的日志文件?

[更新] Eventlog显示:

应用程序:Raven.Server.exe Framework版本:v4.0.30319描述:由于未处理的异常,进程已终止 . 异常信息:System.IO.FileLoadException Stack:at Raven.Server.Program.Main(System.String [])

有什么奇怪的,因为安装了Framework 4.5(并被其他应用程序使用)

2 回答

  • 0

    好 . 第一个事件日志导致了COMPLETE错误的方向 . :)似乎是一个后续错误 . Eventlog也有一条较旧的错误消息:

    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将在启动时重新创建该文件夹 .

相关问题