BizTalk Server BizTalkMsgBoxDb 데이터베이스에 연결할 때 차단, 교착 상태 또는 기타 SQL Server 문제

이 문서에서는 Microsoft BizTalk Server 데이터베이스에 연결할 때 SQL Server 문제를 해결하는 방법에 BizTalkMsgBoxDb 대한 정보를 제공합니다.

원래 제품 버전: BizTalk Server
원래 KB 번호: 917845

증상

BizTalk Server 데이터베이스에 연결 BizTalkMsgBoxDb 하려고 할 때 차단, 교착 상태 또는 기타 Microsoft SQL Server 문제가 발생합니다.

원인

다음 조건 중 하나 이상이 true인 경우 이 문제가 발생할 수 있습니다.

  • 데이터베이스에서 자동 Create 통계 옵션을 사용할 수 BizTalkMsgBoxDb 있습니다.
  • 통계 자동 업데이트 옵션은 데이터베이스에서 BizTalkMsgBoxDb 사용하도록 설정됩니다.
  • 최대 병렬 처리 수준 옵션은 데이터베이스 또는 이 데이터베이스를 호스팅하는 SQL instance 대해 BizTalkMsgBoxDb 1이 아닌 값으로 설정됩니다.
  • BizTalk Server 데이터를 처리할 때 데이터베이스의 BizTalkMsgBoxDb 인덱스 조각 모음 또는 다시 작성

해결 방법 1: 자동 Create 통계 옵션 및 통계 자동 업데이트 옵션 사용 안 함

이 문제를 resolve SQL Server 데이터베이스에서 BizTalkMsgBoxDb자동 Create통계 및 자동 업데이트 통계 옵션을 사용하지 않도록 설정합니다.

해결 방법 2: 최대 병렬 처리 수준 옵션을 1로 설정

이 문제를 resolve 데이터베이스 설정에서 최대 병렬 처리 수준 옵션을 1BizTalkMsgBoxDb 로 설정하거나 이 데이터베이스를 호스팅하는 SQL instance 설정합니다.

해결 방법 3: BizTalk Server 데이터를 처리할 때 인덱스 다시 작성 안 함

이 문제를 resolve 위해 저장 프로시저 또는 BizTalk Server 데이터를 처리할 때 BizTalk Server 데이터베이스에서 인덱스를 다시 빌드하는 SQL 명령을 실행 bts_RebuildIndexes 하지 마세요.

참고

BizTalk Server 데이터베이스에서 인덱스 조각 모음은 지원되지 않습니다.

bts_RebuildIndexes 저장 프로시저

데이터베이스에서 BizTalkMsgBoxDb 인덱스 다시 작성을 지원하는 유일한 방법은 저장 프로시저를 bts_RebuildIndexes 실행하는 것입니다. BizTalk Server 2006 이상 버전에서는 저장 프로시저를 dtasp_RebuildIndexes 실행하여 데이터베이스에서 BizTalkDTADb 인덱스를 다시 작성할 수 있습니다.

대부분의 BizTalk 인덱스는 GUID 기반입니다. 많은 테스트에서 테이블이 검사되지 않는 한 GUID 기반 인덱스가 BizTalk 관련 워크로드에 대한 ID 기반 인덱스보다 더 잘 수행될 수 있음을 보여 줍니다. 이로 인해 조각화가 발생할 수 있습니다. 그러나 데이터가 꾸준한 속도로 테이블 안팎으로 흐르기 때문에 조각화로 인해 문제가 발생하지 않을 수 있습니다. 데이터베이스에 BizTalkMsgBox 많은 데이터가 빌드될 것으로 예상되는 경우 예약된 가동 중지 시간 동안 정기적으로 인덱스를 다시 작성할 수 있습니다. 추적 데이터베이스에 동일한 지침이 적용됩니다.

SQL 명령을 사용하여 DBCC DBREINDEX 다른 BizTalk Server 데이터베이스에서 인덱스를 다시 작성할 수 있습니다. SQL 명령을 사용하는 방법의 예제를 DBCC DBREINDEX 보려면 저장 프로시저를 bts_RebuildIndexes 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.

Microsoft는 BizTalk Server 가동 중지 시간 동안에만 데이터베이스 인덱스 다시 작성을 지원합니다. 인덱스를 다시 작성하기 전에 모든 호스트 인스턴스 및 SQL Server 에이전트 중지해야 합니다. BizTalk Server 2006 이상 버전에서 저장 프로시저를 실행 bts_RebuildIndexes 하면 다음 오류 메시지 중 하나가 나타날 수 있습니다.

  • 오류 메시지 1

    Msg 5239, 수준 16, 상태 1, 프로시저 bts_RebuildIndexes, 줄 4 개체 ID 674101442 처리할 수 없음(개체 'TrackingData')
    이 DBCC(데이터베이스 일관성 검사기) 명령은 이러한 종류의 개체를 지원하지 않습니다.

  • 오류 메시지 2

    이 DBCC 명령은 이러한 유형의 개체를 지원하지 않으므로 Msg 5239, 수준 16, 상태 1, 프로시저 bts_RebuildIndexes, 줄 4 개체 ID 722101613 처리할 수 없습니다(개체 'TrackingData').

이 문제는 개체가 TrackingData BizTalk Server 2006 이상 버전의 보기이기 때문에 발생합니다. 이 문제를 resolve 다음을 수행하고 저장 프로시저를 bts_RebuildIndexes 실행합니다.

  1. 저장 프로시저에서 다음 줄을 주석으로 처리 bts_RebuildIndexes 합니다.

    DBCC DBREINDEX ('[dbo].[TrackingData]') WITH NO_INFOMSGS
    
  2. 저장 프로시저에 bts_RebuildIndexes 다음 줄을 추가합니다.

    DBCC DBREINDEX ('[dbo].[TrackingData_0_0]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_0_1]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_0_2]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_0_3]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_1_0]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_1_1]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_1_2]') WITH NO_INFOMSGS
    DBCC DBREINDEX ('[dbo].[TrackingData_1_3]') WITH NO_INFOMSGS