sp_replshowcmds(Transact-SQL)
복제용으로 표시된 트랜잭션에 대한 명령을 읽을 수 있는 형식으로 반환합니다. sp_replshowcmds는 클라이언트 연결(현재 연결 포함)이 로그에서 복제된 트랜잭션을 읽고 있지 않은 경우에만 실행할 수 있습니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.
구문
sp_replshowcmds [ @maxtrans = ] maxtrans
인수
- [ @maxtrans = ] maxtrans
정보를 반환할 트랜잭션의 수입니다. maxtrans는 int이며 기본값은 sp_replshowcmds가 정보를 반환할 복제 보류 중인 트랜잭션의 최대 수를 지정하는 1입니다.
결과 집합
sp_replshowcmds는 실행된 게시 데이터베이스에 관한 정보를 반환하는 진단 프로시저입니다.
열 이름 |
데이터 형식 |
설명 |
---|---|---|
xact_seqno |
binary(10) |
명령의 시퀀스 번호입니다. |
originator_id |
int |
명령을 보낸 사람의 ID이며 항상 0입니다. |
publisher_database_id |
int |
게시자 데이터베이스의 ID이며 항상 0입니다. |
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를 실행할 수 있습니다.