복제 로그 판독기 에이전트에 오류가 발생 하면 SQL Server "20011" 오류 메시지

증상

Microsoft SQL Server 복제 로그 판독기 에이전트에 오류가 발생 하면 SQL Server 로그에 다음과 유사한 오류 메시지가 나타납니다.

< 타임 스탬프 > spid98 복제 복제 트랜잭션 로그 판독기
하위 시스템: 에이전트 logreadername에 실패 했습니다. 하는 과정에 'sp_replcmds' 실행할 수 없습니다.
이름 뒤에 ' < 서버 >'.
< 타임 스탬프 > spid258 오류: 14151, 심각도: 18, 상태: 1.
< 타임 스탬프 > spid258 복제 복제 트랜잭션 로그 판독기
하위 시스템: 에이전트 logreadername에 실패 했습니다. 하는 과정에 'sp_replcmds' 실행할 수 없습니다.
이름 뒤에 ' < 서버 >'.


또한 다음과 유사한 하나 이상의 오류 메시지가 나타날 수 있습니다.

  • 18836 18805/로그 판독기를 만들지 못했습니다 복제 명령

    < 타임 스탬프 > 상태: 0, 코드: 20011, 텍스트: '프로세스 'sp_replcmds' '< 서버 이름 >'에 실행 하지 못했습니다.'입니다.
    < 타임 스탬프 > '< 서버 이름 >'에 ' sp_replcmds' 프로세스를 실행할 수 없습니다.
    < 타임 스탬프 > 상태: 0, 코드: 18836, 텍스트: ' UpdateText 텍스트 정보 블록이 잘못 된: m_pHead->는 gettype (): 1, m_TextDataType: 0, m_TextOpType: 3을 ti: {RowsetId 7746362867712 {TextTimeStamp 480235880448 {{PageId 2680944, 필드 1} RowId, 슬롯 Id 21}}, coloffset-1, textInfoFlags 0x4, textSize 177, 177, oldSize 0, 연산이 0 오프셋}.'.
    < 타임 스탬프 > 상태: 0, 코드: 18805, 텍스트: '로그 판독기 LSN {00150725:00014316:009 d}에서 복제 된 명령을 생성 하지 못했습니다.'입니다. < 타임 스탬프 > 상태: 0, 코드: 22037, 텍스트: '프로세스 'sp_replcmds' '< 서버 이름 >'에 실행 하지 못했습니다.'입니다.

  • 18836 18805/로그 판독기를 만들지 못했습니다 복제 명령

    < 타임 스탬프 > 상태: 0, 코드: 20011, 텍스트: '프로세스 'sp_replcmds' '< 서버 이름 >'에 실행 하지 못했습니다.'입니다.
    < 타임 스탬프 > '< 서버 이름 >'에 ' sp_replcmds' 프로세스를 실행할 수 없습니다.
    < 타임 스탬프 > 복제 에이전트 상태: 6
    < 타임 스탬프 > 상태: 0, 코드: 18805, 텍스트: ' 로그 판독기 에이전트는 복제 된 명령에서 로그 시퀀스 번호 (LSN)를 생성 하지 못했습니다 {00033a89:0000969 c: 000a}. 다시 게시 데이터베이스 및 고객 지원 서비스에 문의 하십시오.'입니다.
    < 타임 스탬프 > 상태: 0, 코드: 22037, 텍스트: '프로세스 'sp_replcmds' '< 서버 이름 >'에 실행 하지 못했습니다.'입니다.

  • 로그 판독기 제한 시간

    에이전트가 실행 중입니다. 이 에이전트 세션 세부 정보를 보려면 복제 모니터를 사용 합니다.
    복제 에이전트 상태: 3
    게시자: {(0x0000172a0002ac900001, 0x0000172a0002ac900001, 0, 0)는 sp_repldone을 호출 합니다.}
    게시자: {sp_replcmds (500, 0)을 호출 합니다.}
    상태: 2, 코드: 0, 텍스트: '프로세스 'sp_replcmds' '< 게시자 이름 >'에 실행 하지 못했습니다.'입니다.
    '< 게시자 이름 >'에 ' sp_replcmds' 실행할 수 없습니다.
    복제 에이전트 상태: 5
    상태: 2, 코드: 0, 텍스트: '제한 시간이 만료 되었습니다'.
    출판사 '< 게시자 이름 >' 연결 끊기
    에이전트가 '재시도' 상태로 실패 했습니다. 나중에 에이전트를 실행 하십시오.


  • 어설션

    < 타임 스탬프 > 상태: 0, 코드: 20011, 텍스트: '프로세스 'sp_replcmds' '< 서버 이름 >'에 실행 하지 못했습니다.'입니다.
    < 타임 스탬프 > '< 서버 이름 >'에 ' sp_replcmds' 프로세스를 실행할 수 없습니다.
    < 타임 스탬프 > 상태: 0, 코드: 18773, 텍스트: 'ID 30 명령 생성 중 열 "ClientPreferences"에 대 한 텍스트 정보 레코드를 찾을 수 없습니다.'입니다.
    < 타임 스탬프 > 상태: 0, 코드: 3624, 텍스트: ' 시스템 어설션을 검사 하지 못했습니다. 자세한 내용은 SQL Server 오류 로그를 확인 하십시오. 일반적으로 어설션 오류는 소프트웨어 버그 또는 데이터 손상으로 발생 합니다. 손상 된 데이터베이스를 검사 하려면 DBCC CHECKDB를 실행 하는 것이 좋습니다. 덤프를 설치 하는 동안 Microsoft로 보낼 하기로, 미니 덤프는 Microsoft로 보내집니다. 업데이트는 microsoft 기술 지원부에서 QFE 또는 최신 서비스 팩에서 사용할 수 있습니다. '.
    < 타임 스탬프 > 상태: 0, 코드: 22037, 텍스트: '프로세스 'sp_replcmds' '< 서버 이름 >'에 실행 하지 못했습니다.'입니다.

문제 해결

  • 1 오류 메시지: "복제 명령 구문 18805/18836 로그 판독기 실패"
    이 메시지에서 트랜잭션을 로그에서 생성 된 변경 사항과 개체를 확인할 수 있습니다. 이렇게 하려면 다음 정보를 사용 합니다.

    • 18836 코드 개체를 찾을 수 있는 페이지의 ID를 제공 합니다.

      참고: 데이터베이스 페이지의 내용을 보려면 DBCC PAGE 명령을 사용할 수 있습니다.

    • 18805 코드는 로그 시퀀스 번호 (LSN) 개체를 제공할 수 있습니다.

      dbcc Log(master, 3, 'lsn', '0x00000208:000000a0:0004', 'numrecs', 1)



  • 오류 메시지 2: "18805/18836 로그 판독기 복제 명령 구문에 실패"
    오류 메시지 1과 오류 메시지 2 간의 주요 차이점은 2 오류 상태 메시지는 하 고 "textinfo" 열을 가리키지 않는 경우 이 알려진된 문제는 누적 업데이트 패키지 11 Microsoft SQL Server 2008 서비스 팩 3 (SP3)에서 해결 됩니다.

    이진 대형 개체 (BLOB) 데이터 형식 열의 있고 있는 문서 사용 하지 않는 매개 변수가 있는 명령을 복제할 해당 테이블에만 문제가 발생 합니다. 이 문제를 해결하려면, 다음과 같이 하십시오.

    1. 문서 매개 변수가 있는 명령을 사용 하 고 있는지 확인 합니다. 이렇게 하려면 다음 쿼리를 실행 합니다.

      select status, name from sysarticles where name =''
    2. 상태 값을 이진 형식으로 변환 합니다. 예를 들어, 41의 상태 값을 이진 값 101001, 이며 상태 비트 라고도 하는 오른쪽에서 5 번째 비트 ON. 상태 비트가 1 이면 이미 설정 됩니다. 상태 비트가 0 이면 다음 설정 되지 않은. 따라서 매개 변수가 있는 명령을 구성할 sp_changearticle 실행 해야 할 수도 있습니다. 상태 비트를 변경 하려면 다음 명령을 실행 합니다.

      sp_changearticle 'ConstituentRequest_ETL_Trans', 'CRProfile', 'status', 'parameters' 




  • 오류 메시지 3: "로그 판독기 시간 제한"
    이 문제를 해결 하려면 다음 방법 중 하나를 사용 합니다.

    • 쿼리 제한 시간 매개 변수는 로그 판독기 에이전트에 대 한 값을 늘립니다.

      참고 기본적으로이 매개 변수의 값은 1, 800 초 (30 분).

    • 시간 제한을 비활성화 하려면 영 (0)으로 쿼리 제한 시간 매개 변수에 대 한 값을 설정 합니다.

    • 로그 판독기 에이전트가 ReadBatchSize 매개 변수에 대 한 값을 줄이십시오.



  • 4 오류 메시지: "설정"
    SQL Server 오류 로그에서 어설션, 확인 하 고 스레드 스택을 다음 Microsoft 기술 자료 문서에서 문제를 비교 합니다. 이 문서에는 SQL Server 발생 하는 두 가지 일반적인 어설션 설명 합니다.

    • 923296 해결: 로그 판독기 에이전트가 실패 하 고 SQL Server 2005에서 트랜잭션 복제를 사용할 때 어설션 오류 메시지가 기록 됩니다.

    • 956273 해결: SQL Server 2005에서 트랜잭션 복제를 위해 데이터를 동기화 할 때 오류 메시지: "복제 복제 트랜잭션 로그 판독기 하위 시스템: 에이전트 < 에이전트 이름 > 실패 했습니다"


    오류 로그에 어설션 일치 하는 다음 기술 자료 문서에 설명 된 문제가 없으면 적절 한 수정 프로그램을 설치 합니다.



상태

Microsoft는 이 문제가 '적용 대상' 섹션에 나열된 Microsoft 제품의 문제임을 확인했습니다.

추가 도움이 필요하신가요?

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Microsoft Insider 참가

이 정보가 유용한가요?

소중한 의견에 감사드립니다.

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×