다음을 통해 공유


sp_replshowcmds(Transact-SQL)

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

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문


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_replshowcmdssp_replcmds를 실행하는 클라이언트는 18752 오류를 받게 됩니다.

이러한 오류를 방지하려면 첫 번째 클라이언트가 연결을 끊거나 sp_replflush를 실행하여 로그 판독기로서의 클라이언트 역할을 해제해야 합니다. 모든 클라이언트가 로그 판독기에서 연결을 끊은 이후에는 sp_replshowcmds를 성공적으로 실행할 수 있습니다.

[!참고]

sp_replshowcmds는 복제 관련 문제를 해결하기 위한 목적으로만 실행해야 합니다.

사용 권한

sysadmin 고정 서버 역할 또는 db_owner 고정 데이터베이스 역할의 멤버만이 sp_replshowcmds를 실행할 수 있습니다.