2015-01-07 2 views
1

NServiceBus에서 RavenDB를 사용합니다. 2.0에서 3.0으로 RavenDB를 업데이트하려고합니다. 설명서 다음에 매우 쉽게 작성해야합니다. 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

확인. 첫 번째 이벤트 로그가 잘못된 방향으로 완료되었습니다. :) 후속 오류로 보입니다. 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

NB 참고 - 아래의 내 솔루션은 기본 NServiceBus 데이터베이스가 아닙니다. 귀하의 데이터를 삭제하지 마십시오. 이 솔루션은 저장되는 데이터의 중요성이 낮은 ServiceControl 용 솔루션입니다.

NServiceBus와 함께 제공되는 모니터링 도구 중 하나 인 ServiceControl에서이 문제가 최근에 발생했습니다. C : \ ProgramData \ Specific \ ServiceControl % -33333 \ Data에있는 로컬 DB에 메시지를 보관합니다.

하드 디스크가 꽉 찼음이 드뭅니다. 방을 만들기 위해 예외에서 언급 한 데이터 파일이 들어있는 폴더를 삭제해야했습니다 (11GB).

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

가 시작할 때 폴더를 다시합니다 http://docs.particular.net/servicecontrol/how-purge-expired-data

하여 ServiceControl를 참조하십시오 : 그럼 나는 계속 메시지의 양을 제한하기 위해 ServiceControl.exe.config에 다음 응용 프로그램 설정을 추가했습니다.