0

SQL Server 2005에서 잘 작동하는 악명 높은 화재 및 잊어 버림 패턴 (저를 판단하지 마십시오.)을 사용하는 서비스가 있습니다. 최근에 2012로 업그레이드되었고 현재 ssbdiagnose가 있습니다.일치하지 않는 활성화 설정

The activation settings for queue dbo.ScanSendQueue are inconsistent: Activation is configured but disabled 
The activation settings for queue dbo.ScanSendQueue are inconsistent: Activation is configured with 0 max_queue_readers 
The activation settings for queue dbo.ScanSendQueue are inconsistent: Activation is configured but no procedure is specified 

나는이 문제를 해결하는 방법을 알아 내기 위해 노력하지만, "보내기"를 큐에 저장 프로 시저를 추가하는 짧은 그것을 알아낼 수 있지만, 그 이유는 내가 볼 수 없습니다 : 일관성이 활성화 설정에 대해 불평 필요한.

기본 설정은 다음과 같습니다 서비스 요청을

BEGIN DIALOG CONVERSATION @SBDialog FROM SERVICE ScanSendService TO SERVICE 'ScanReceiveService', 'CURRENT DATABASE' ON CONTRACT ScanContract WITH ENCRYPTION = OFF

  • 는 "수신"

    1. 삽입
    2. 트리거과 같이 서비스를 "보내기"를 호출 테이블 "에서 검색"을 그런 다음 관련없는 물건을 저장 프로 시저. 아래 큐 세부 :

      ALTER QUEUE [dbo].[ScanReceiveQueue] WITH STATUS = ON , RETENTION = OFF , ACTIVATION ( STATUS = ON , PROCEDURE_NAME = [dbo].[usp_Process_ScanReceiveQueue] , MAX_QUEUE_READERS = 1 , EXECUTE AS OWNER ), POISON_MESSAGE_HANDLING (STATUS = OFF)

    메시지가 잘 "보내기"를 대기열에 그것을 만들지 만, 큐를 "수신"없습니다. 왜 ssbdiagnose가이 문제에 대해 불평하고 있으며 어떻게 해결할 수 있습니까?

    편집 : 더 많은 정보를 원하시면, 아무도 어떤 아이디어 :(갖고있는 것 같아요 없기 때문에 내가 Microsoft.SqlServer.ServiceBroker.Diagnostics.dll을 확인해 보니이 모든 검사에 관계없이 "정품 인증 구성"여부의 모든 큐에서 실행되고있는 것 같습니다

    https://gist.github.com/Mansfield7/5766457#file-gistfile1-cs-L12

    편집 2 : 나하지,하지만 난 누구라도 관심이 있다면 활성화 ....

    소스를 구성 할 방법을 모르는 그 큐에 대한 활성화 켜져 있고 저장 프로 시저를 지정하는 ssbdiagnose 오류가 사라졌지만 큐가 여전히 손상되었습니다 (receive que 여전히 비어 있습니다.)

  • 답변

    0

    해당 큐에 대한 활성화를 적절하게 추가 한 후에 ssbdiagnose 오류가 사라졌지만 서비스가 여전히 작동하지 않습니다.

    SQL Server 프로파일 러를 연결하여 데이터베이스가 트러스트 된 모드가 아닌 것을 확인하여 다음 명령을 실행하여 작업을 시작했습니다.

    ALTER DATABASE [DBNAME] SET TRUSTWORTHY ON;

    난 아직 활성화에 대한 ssbdiagnose 경고에 대한 자세한 내용을 알고 싶은데요,하지만 지금 내 문제는 해결된다.