다음을 통해 공유


sp_helptracertokenhistory(Transact-SQL)

적용 대상: SQL Server Azure SQL Managed Instance

각 구독자에 대해 하나의 행이 반환되는 지정된 추적 프로그램 토큰에 대한 자세한 대기 시간 정보를 반환합니다. 이 저장 프로시저는 게시 데이터베이스의 게시자 또는 배포 데이터베이스의 배포자에서 실행됩니다.

Transact-SQL 구문 표기 규칙

구문

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