2017-04-14 14 views
0

이 질문에 대한 세부 내용은 Monitor biztalk server(biztalkmgmtdb) sql agent job failed on step 2 - Part1을 통해 확인하십시오.biztalk 서버 (biztalkmgmtdb) 모니터링 2 단계 - 2 부에서 SQL Server 에이전트 작업을 수행하지 못했습니다.

BizTalkMsgBoxDb 및 Orphaned DTA 서비스 인스턴스의 참조 카운트가 BizTalkDTADb의 0이 아닌 메시지를 방지 할 수있는 방법은 무엇입니까?

보통 불일치를 정리하기 위해 내 환경에서 BHM을 자주 실행해야하므로 SQL Server 에이전트 작업이 실패 할 때 정기적으로 수행하는 것이 좋습니다.

답변

1

BizTalk에 고아 메시지가 있는지 확인하는 SQL에서 사용할 수있는 쿼리가 있습니다. 이러한 쿼리의 하나는 이것이다 : 참고로

select count(*) from [BizTalkDTAdb].[dbo].[dta_ServiceInstances] 
where dtEndTime is NULL and [uidServiceInstanceId] NOT IN 
    (SELECT [uidInstanceID] FROM[ BizTalkMsgBoxDb].[dbo].[Instances] WITH (NOLOCK) 
    UNION 
    SELECT [StreamID] 
    FROM [BizTalkMsgBoxDb].[dbo].[TrackingData] with (NOLOCK)) 

: https://www.biztalkadmin.com/orphaned-messages-in-the-tracking-database/

그것은 분리 된 서비스 인스턴스의 수를 나열합니다 : 여기이 쿼리를 발견했다. 목록을 얻으려면 SELECT 문에서 COUNT 절을 제거하십시오. 이것은 그들이 어디서 왔는지, 어쩌면 구현을 변경하여 발생을 제한하는 방법에 대한 아이디어를 얻을 수 있습니다.

일부 고아 인스턴스는 BizTalk 환경에 큰 영향을주지 않습니다. 2000 년보다 낮 으면 해고 될 수 있습니다.

중요 : BizTalk 호스트 인스턴스를 중지하지 않고 정리 쿼리를 실행하지 마십시오. 그렇지 않으면 지원 계약에 위배 될 수 있습니다.

1

먼저 Monitor BizTalk Server를 실행하지 않습니다. 정기적으로 BHM을 운영하는 것을 선호합니다.

고아가 된 메시지가 쌓여있는 경우 작업은 사용자가보고 있어야하는 것이 아닙니다. 이 일이 일어나는 것을 허용하는 앱입니다.

+0

저는 개발자가 아니므로 환경을 깨끗하게 유지해야합니다. 해결책을 찾기 위해 개발자 팀에 문제를보고 할 수 있습니다. BiztalkDTADb에서 메시지를 설정하면 DB에서 어떻게 제거 할 수 있습니까? @ 존스 감사합니다. –