sp_replmonitorsubscriptionpendingcmds(Transact-SQL)
적용 대상: SQL Server Azure SQL Managed Instance
트랜잭션 게시에 대한 구독의 보류 중인 명령 수와 이를 처리하는 데 걸리는 대략적인 예상 시간을 반환합니다. 이 저장 프로시저는 반환된 각 구독에 대해 하나의 행을 반환합니다. 복제 모니터링에 사용되는 이 저장 프로시저는 배포 데이터베이스의 배포자에서 실행됩니다.
구문
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
하여 해당 게시에 대한 보류 중인 명령을 반환할 수 있습니다.