sp_replshowcmds(Transact-SQL)
적용 대상: SQL Server Azure SQL Managed Instance
복제용으로 표시된 트랜잭션에 대한 명령을 읽을 수 있는 형식으로 반환합니다. sp_replshowcmds
는 클라이언트 연결(현재 연결 포함)이 로그에서 복제된 트랜잭션을 읽지 않는 경우에만 실행할 수 있습니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.
구문
sp_replshowcmds [ [ @maxtrans = ] maxtrans ]
[ ; ]
인수
[ @maxtrans = ] maxtrans
정보를 반환할 트랜잭션 수입니다. @maxtrans 정보를 반환하는 복제 sp_replshowcmds
보류 중인 최대 트랜잭션 수를 지정하는 기본값1
인 int입니다.
결과 집합
sp_replshowcmds
는 실행되는 게시 데이터베이스에 대한 정보를 반환하는 진단 프로시저입니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
xact_seqno |
binary(10) | 명령의 시퀀스 번호입니다. |
originator_id |
int | 명령 시작자의 ID입니다. 항상 0 . |
publisher_database_id |
int | 항상 게시자 데이터베이스 0 의 ID입니다. |
article_id |
int | 아티클의 ID입니다. |
type |
int | 명령 유형입니다. |
command |
nvarchar(1024) | Transact-SQL 명령을 사용합니다. |
설명
sp_replshowcmds
는 트랜잭션 복제에 사용됩니다.
를 사용하면 sp_replshowcmds
현재 배포되지 않은 트랜잭션(아직 배포자에 전송되지 않은 트랜잭션 로그에 남아 있는 트랜잭션)을 볼 수 있습니다.
동일한 데이터베이스 내에서 실행되는 sp_replshowcmds
sp_replcmds
클라이언트는 오류 18752를 수신합니다.
이 오류를 방지하려면 첫 번째 클라이언트의 연결을 끊거나 로그 판독기를 실행 sp_replflush
하여 클라이언트 역할을 해제해야 합니다. 모든 클라이언트가 로그 판독기에서 연결을 끊은 sp_replshowcmds
후 성공적으로 실행할 수 있습니다.
참고 항목
sp_replshowcmds
는 복제 문제를 해결하기 위해서만 실행해야 합니다.
사용 권한
sysadmin 고정 서버 역할 또는 db_owner 고정 데이터베이스 역할의 멤버만 실행할 sp_replshowcmds
수 있습니다.