sp_replcmds(Transact-SQL)
적용 대상:SQL ServerAzure SQL Managed Instance
복제본(replica) 표시된 트랜잭션에 대한 명령을 반환합니다. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.
Important
sp_replcmds 프로시저는 복제본(replica) 문제를 해결하기 위해서만 실행해야 합니다.
구문
sp_replcmds [ @maxtrans = ] maxtrans
인수
[ @maxtrans = ] maxtrans
정보를 반환할 트랜잭션 수입니다. maxtrans는 int이며 기본값은 1이며 배포 대기 중인 다음 트랜잭션을 지정합니다.
결과 집합
열 이름 | 데이터 형식 | 설명 |
---|---|---|
문서 ID | int | 아티클의 ID입니다. |
partial_command | bit | 부분 명령인지 여부를 나타냅니다. |
command | varbinary(1024) | 명령 값입니다. |
xactid | binary(10) | 트랜잭션 ID입니다. |
xact_seqno | varbinary(16) | 트랜잭션 시퀀스 번호입니다. |
publication_id | int | 게시의 ID입니다. |
command_id | int | MSrepl_commands 명령의 ID입니다. |
command_type | int | 명령 유형입니다. |
originator_srvname | sysname | 트랜잭션이 시작된 서버입니다. |
originator_db | sysname | 트랜잭션이 시작된 데이터베이스입니다. |
pkHash | int | 내부용으로만 사용됩니다. |
originator_publication_id | int | 트랜잭션이 시작된 게시의 ID입니다. |
originator_db_version | int | 트랜잭션이 시작된 데이터베이스의 버전입니다. |
originator_lsn | varbinary(16) | 원래 게시에서 명령에 대한 LSN(로그 시퀀스 번호)을 식별합니다. |
설명
sp_replcmds 트랜잭션 복제본(replica) 로그 판독기 프로세스에서 사용됩니다.
복제는 지정된 데이터베이스 내에서 sp_replcmds 실행하는 첫 번째 클라이언트를 로그 판독기로 처리합니다.
이 프로시저는 소유자로 한정된 테이블에 대한 명령을 생성하거나 테이블 이름(기본값)을 한정하지 않을 수 있습니다. 정규화된 테이블 이름을 추가하면 한 데이터베이스의 특정 사용자가 소유한 테이블에서 다른 데이터베이스의 동일한 사용자가 소유한 테이블로 데이터를 복제본(replica) 수 있습니다.
참고 항목
원본 데이터베이스의 테이블 이름은 소유자 이름에 의해 한정되므로 대상 데이터베이스의 테이블 소유자는 반드시 같은 소유자 이름을 사용해야 합니다.
동일한 데이터베이스 내에서 sp_replcmds 실행하려는 클라이언트는 첫 번째 클라이언트의 연결이 끊어지도록 오류 18752를 수신합니다. 첫 번째 클라이언트 연결이 끊어진 후 다른 클라이언트는 sp_replcmds 실행할 수 있으며 새 로그 판독기입니다.
텍스트 포인터가 동일한 트랜잭션에서 검색되지 않았기 때문에 sp_replcmds 텍스트 명령을 복제본(replica) 할 수 없는 경우 경고 메시지 번호 18759가 Microsoft SQL Server 오류 로그와 Microsoft Windows 애플리케이션 로그 모두에 추가됩니다.
사용 권한
sysadmin 고정 서버 역할 또는 db_owner 고정 데이터베이스 역할의 멤버만 sp_replcmds 실행할 수 있습니다.
참고 항목
오류 메시지
sp_repldone(Transact-SQL)
sp_replflush(Transact-SQL)
sp_repltrans(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기