sp_helptracertokenhistory (Transact-SQL)
Returns detailed latency information for specified tracer tokens, with one row being returned for each Subscriber. This stored procedure is executed at the Publisher on the publication database or at the Distributor on the distribution database.
Transact-SQL Syntax Conventions
Syntax
sp_helptracertokenhistory [ @publication = ] 'publication'
, [ @tracer_id = ] tracer_id
[ , [ @publisher = ] 'publisher' ]
[ , [ @publisher_db = ] 'publisher_db' ]
Arguments
- [ @publication= ] 'publication'
Is the name of the publication in which the tracer token was inserted. publication is sysname, with no default.
- [ @tracer_id= ] tracer_id
Is the ID of the tracer token in the MStracer_tokens (Transact-SQL) table for which history information is returned. tracer_id is int, with no default.
[ @publisher= ] 'publisher'
The name of the Publisher. publisher is sysname, with a default of NULL.Note
This parameter should only be specified for non-Microsoft SQL Server Publishers.
- [ @publisher_db= ] 'publisher_db'
The name of the publication database. publisher_db is sysname, with a default value of NULL. This parameter is ignored if the stored procedure is executed at the Publisher.
Return Code Values
0 (success) or 1 (failure)
Remarks
sp_helptracertokenhistory is used in transactional replication.
Execute sp_helptracertokens (Transact-SQL) to obtain a list of tracer tokens for the publication.
A value of NULL in the result set means that latency statistics cannot be calculated. This is because the tracer token has not been received at the Distributor or one of the Subscribers.
Permissions
Only members of the sysadmin fixed server role, the db_owner fixed database role in the publication database, or db_owner fixed database or replmonitor roles in the distribution database can execute sp_helptracertokenhistory.
Result Set
Column name | Data type | Description |
---|---|---|
distributor_latency |
bigint |
Number of seconds between the tracer token record being committed at the Publisher and the record being committed at the Distributor. |
subscriber |
sysname |
Name of the Subscriber that received the tracer token. |
subscriber_db |
sysname |
Name of the subscription database into which the tracer token record was inserted. |
subscriber_latency |
bigint |
Number of seconds between the tracer token record being committed at the Distributor and the record being committed at the Subscriber. |
overall_latency |
bigint |
Number of seconds between the tracer token record being committed at the Publisher and token record being committed at the Subscriber. |
Example
DECLARE @publication AS sysname;
DECLARE @tokenID AS int;
SET @publication = N'AdvWorksProductTran';
USE [AdventureWorks]
-- 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
See Also
Reference
sp_deletetracertokenhistory (Transact-SQL)
Other Resources
How to: Measure Latency and Validate Connections for Transactional Replication (Replication Transact-SQL Programming)
Measuring Latency and Validating Connections for Transactional Replication