다음을 통해 공유


sp_replshowcmds(Transact-SQL)

적용 대상: SQL Server Azure SQL Managed Instance

복제용으로 표시된 트랜잭션에 대한 명령을 읽을 수 있는 형식으로 반환합니다. sp_replshowcmds 는 클라이언트 연결(현재 연결 포함)이 로그에서 복제된 트랜잭션을 읽지 않는 경우에만 실행할 수 있습니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.

Transact-SQL 구문 표기 규칙

구문

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수 있습니다.