sp_helptracertokenhistory(Transact-SQL)
적용 대상: SQL Server Azure SQL Managed Instance
각 구독자에 대해 하나의 행이 반환되는 지정된 추적 프로그램 토큰에 대한 자세한 대기 시간 정보를 반환합니다. 이 저장 프로시저는 게시 데이터베이스의 게시자 또는 배포 데이터베이스의 배포자에서 실행됩니다.
구문
sp_helptracertokenhistory
[ @publication = ] N'publication'
, [ @tracer_id = ] tracer_id
[ , [ @publisher = ] N'publisher' ]
[ , [ @publisher_db = ] N'publisher_db' ]
[ ; ]
인수
[ @publication = ] N'publication'
추적 프로그램 토큰이 삽입된 게시의 이름입니다. @publication 기본값이 없는 sysname입니다.
[ @tracer_id = ] tracer_id
기록 정보가 반환되는 MStracer_tokens 테이블에 있는 추적 프로그램 토큰의 ID입니다. @tracer_id 기본값이 없는 int입니다.
[ @publisher = ] N'publisher'
게시자의 이름입니다. @publisher sysname이며 기본값은 .입니다NULL
.
@publisher SQL Server가 아닌 게시자에 대해서만 지정해야 합니다.
[ @publisher_db = ] N'publisher_db'
게시 데이터베이스의 이름입니다. @publisher_db sysname이며 기본값은 .입니다NULL
. 이 매개 변수는 저장 프로시저가 게시자에서 실행되는 경우 무시됩니다.
결과 집합
열 이름 | 데이터 형식 | 설명 |
---|---|---|
distributor_latency |
bigint | 게시자에서 커밋되는 추적 프로그램 토큰 레코드와 배포자에서 커밋되는 레코드 사이의 시간(초)입니다. |
subscriber |
sysname | 추적 프로그램 토큰을 받은 구독자의 이름입니다. |
subscriber_db |
sysname | 추적 프로그램 토큰 레코드가 삽입된 구독 데이터베이스의 이름입니다. |
subscriber_latency |
bigint | 배포자에서 커밋되는 추적 프로그램 토큰 레코드와 구독자에서 커밋되는 레코드 사이의 시간(초)입니다. |
overall_latency |
bigint | 게시자에서 커밋되는 추적 프로그램 토큰 레코드와 구독자에서 커밋되는 토큰 레코드 사이의 시간(초)입니다. |
반환 코드 값
0
(성공) 또는 1
(실패).
설명
sp_helptracertokenhistory
는 트랜잭션 복제에 사용됩니다.
sp_helptracertokens 실행하여 게시에 대한 추적 프로그램 토큰 목록을 가져옵니다.
결과 집합의 NULL
값은 대기 시간 통계를 계산할 수 없음을 의미합니다. 이는 배포자 또는 구독자 중 하나에서 추적 프로그램 토큰을 받지 못했기 때문입니다.
예제
DECLARE @publication AS sysname;
DECLARE @tokenID AS int;
SET @publication = N'AdvWorksProductTran';
USE [AdventureWorks2022]
-- Insert a new tracer token in the publication database.
EXEC sys.sp_posttracertoken
@publication = @publication,
@tracer_token_id = @tokenID OUTPUT;
SELECT 'The ID of the new tracer token is ''' +
CONVERT(varchar,@tokenID) + '''.'
GO
-- Wait 10 seconds for the token to make it to the Subscriber.
WAITFOR DELAY '00:00:10';
GO
-- Get latency information for the last inserted token.
DECLARE @publication AS sysname;
DECLARE @tokenID AS int;
SET @publication = N'AdvWorksProductTran';
CREATE TABLE #tokens (tracer_id int, publisher_commit datetime)
-- Return tracer token information to a temp table.
INSERT #tokens (tracer_id, publisher_commit)
EXEC sys.sp_helptracertokens @publication = @publication;
SET @tokenID = (SELECT TOP 1 tracer_id FROM #tokens
ORDER BY publisher_commit DESC)
DROP TABLE #tokens
-- Get history for the tracer token.
EXEC sys.sp_helptracertokenhistory
@publication = @publication,
@tracer_id = @tokenID;
GO
사용 권한
sysadmin 고정 서버 역할의 멤버, 게시 데이터베이스의 db_owner 고정 데이터베이스 역할 또는 배포 데이터베이스의 db_owner 고정 데이터베이스 또는 replmonitor 역할만 실행할 sp_helptracertokenhistory
수 있습니다.