Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.

증상

sp_replmonitorsubscriptionpendingcmds 저장 프로시저는 P2P(피어 투 피어) 복제와 호환되지 않습니다. 잘못된 수의 보류 중인 명령을 반환합니다. 이 수정 사항을 적용하면 sp_replmonitorsubscriptionpendingcmds P2P 복제와 호환됩니다.

참고 복제 모니터의 "배포되지 않은 명령" 탭은 백그라운드에서 sp_replmonitorsubscriptionpendingcmds 호출합니다.

해결 방법

누적 업데이트 정보

이 문제는 SQL Server 대한 다음 누적 업데이트에서 해결되었습니다.

참고 이 누적 업데이트를 적용한 후에도 sp_replmonitorsubscriptionpendingcmds MSrepl_originators테이블에 부실 항목이 포함된 경우 P2P 복제에 대해 잘못된 수의 보류 중인 명령을 보고할 수 있습니다.

MSrepl_originators 테이블에 부실 항목이 포함된 경우 sp_replmonitorsubscriptionpendingcmds 실행하면 SQL Server 오류 로그에 다음 경고 메시지가 생성됩니다.

경고: 구독 데이터베이스 '<database_name > '에 대한 데이터베이스 버전을 가져올 수 없습니다. sp_replmonitorsubscriptionpendingcmdsP2P 복제에 대해 잘못된 수의 보류 중인 명령을 보고할 수 있습니다.

이 문제를 resolve MSrepl_originators 오래된 항목을 삭제하거나 sp_replmonitorsubscriptionpendingcmds 실행할 때 구독 데이터베이스의 올바른 "dbversion"을 subdb_version 인수 로 전달합니다.

팁: 다음 방법 중 하나를 선택하여 구독 데이터베이스의 "dbversion"을 찾을 수 있습니다.

  • 배포 데이터베이스에서 다음 쿼리를 실행합니다. select dbversion from MSrepl_originators#x1
    and srvname = <Subscriber_Server>

    and dbname = <Subscriber_Database>참고 <Publisher_Database_ID>
    , <Subscriber_Server> 및 <Subscriber_Database> 적절한 값을 대체해야 합니다.

  • 구독 데이터베이스에서 다음 쿼리를 실행합니다. declare @current_version int , @currentGuid uniqueidentifier#x1
    from sys.database_recovery_status
    where database_id = db_id()
    select @current_version = substring(convert(binary(16), isnull(@currentGuid, 0x0)),1,6)
    print @current_version

SQL Server 대한 각각의 새로운 누적 업데이트에는 이전 빌드에 있던 모든 핫픽스 및 보안 수정 사항이 포함되어 있습니다. SQL Server 버전에 대한 최신 빌드를 설치하는 것이 좋습니다.

상태

Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.

참고 자료

Microsoft에서 소프트웨어 업데이트를 설명하는 데 사용하는 용어 에 대해 알아봅니다.

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?
제출을 누르면 피드백이 Microsoft 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×