다음을 통해 공유


sp_replmonitorsubscriptionpendingcmds(Transact-SQL)

적용 대상: SQL Server Azure SQL Managed Instance

트랜잭션 게시에 대한 구독의 보류 중인 명령 수와 이를 처리하는 데 걸리는 대략적인 예상 시간을 반환합니다. 이 저장 프로시저는 반환된 각 구독에 대해 하나의 행을 반환합니다. 복제 모니터링에 사용되는 이 저장 프로시저는 배포 데이터베이스의 배포자에서 실행됩니다.

Transact-SQL 구문 표기 규칙

구문

sp_replmonitorsubscriptionpendingcmds [ @publisher = ] 'publisher'
    , [ @publisher_db = ] 'publisher_db'
    , [ @publication = ] 'publication'
    , [ @subscriber = ] 'subscriber'
    , [ @subscriber_db = ] 'subscriber_db'
    , [ @subscription_type = ] subscription_type
    , [ @subdb_version = ] subdb_version

인수

[ @publisher = ] 'publisher'

게시자의 이름입니다. 게시자는 sysname이며 기본값은 없습니다.

[ @publisher_db = ] 'publisher_db'

게시된 데이터베이스의 이름입니다. publisher_db 기본값이 없는 sysname입니다.

[ @publication = ] 'publication'

게시의 이름입니다. 게시는 sysname이며 기본값은 없습니다.

[ @subscriber = ] 'subscriber'

구독자의 이름입니다. 구독자는 sysname이며 기본값은 없습니다.

[ @subscriber_db = ] 'subscriber_db'

구독 데이터베이스의 이름입니다. subscriber_db 기본값이 없는 sysname입니다.

[ @subscription_type = ] subscription_type

구독 유형입니다. subscription_type 기본값 없이 int이며 이러한 값 중 하나일 수 있습니다.

설명
0 밀어넣기 구독
1 끌어오기 구독

[ @subdb_version = ] subdb_version

dbversion 구독 데이터베이스의 subdb_version 기본값이 0인 int 형식의 선택적 매개 변수입니다.

결과 집합

열 이름 데이터 형식 설명
pendingcmdcount int 구독에 대해 보류 중인 명령 수입니다.
estimatedprocesstime int 보류 중인 모든 명령을 구독자에게 전달하는 데 필요한 시간(초)을 예측합니다.

반환 코드 값

0 (성공) 또는 1 (실패).

설명

sp_replmonitorsubscriptionpendingcmds 는 트랜잭션 복제와 함께 사용됩니다.

SQL Server 2019(15.x) CU17 sp_replmonitorsubscriptionpendingcmds 이전에는 피어 투 피어 복제에서 지원되지 않았으며 피어 투 피어 복제 토폴로지 쿼리에 사용할 때 잘못된 수의 보류 중인 명령을 반환했습니다. SQL Server 2019(15.x) CU 17에서는 피어 투 피어 게시와 호환되도록 sp_replmonitorsubscriptionpendingcmds 지원이 추가되었습니다.

그러나 SQL Server 2019(15.x) CU17 이상을 sp_replmonitorsubscriptionpendingcmds 사용하는 경우에도 테이블에 MSrepl_originators 잘못된 버전의 구독 데이터베이스에 대한 부실 항목이 포함된 경우 피어 투 피어 복제와 함께 사용할 때 잘못된 수의 보류 중인 명령을 보고할 수 있습니다. 문제를 해결하려면 저장 프로시저에 대한 sp_replmonitorsubscriptionpendingcmds 인수를 사용할 subdb_version 때 모든 부실 항목을 MSrepl_originators 삭제하거나 구독 데이터베이스의 올바른 dbversion 항목을 전달합니다.

확인하는 dbversion방법에 대한 자세한 내용은 KB5017009 참조하세요.

사용 권한

배포자에서 sysadmin 고정 서버 역할의 멤버 또는 배포 데이터베이스에서 db_owner 고정 데이터베이스 역할의 멤버만 실행할 sp_replmonitorsubscriptionpendingcmds수 있습니다. 배포 데이터베이스를 사용하는 게시에 대한 게시 액세스 목록의 멤버를 실행 sp_replmonitorsubscriptionpendingcmds 하여 해당 게시에 대한 보류 중인 명령을 반환할 수 있습니다.