sp_helptracertokenhistory (Transact-SQL)
返回指定跟踪令牌的详细滞后时间信息,为每个订阅服务器返回一行。 此存储过程在发布服务器上的发布数据库中执行,或者在分发服务器上的分发数据库中执行。
语法
sp_helptracertokenhistory [ @publication = ] 'publication'
, [ @tracer_id = ] tracer_id
[ , [ @publisher = ] 'publisher' ]
[ , [ @publisher_db = ] 'publisher_db' ]
参数
[ @publication = ] 'publication'
在其中插入跟踪令牌的发布的名称。 publication 为 sysname,无默认值。
[ @tracer_id = ] tracer_id
返回历史记录信息的 MStracer_tokens (Transact-SQL) 表中的跟踪令牌的 ID。 tracer_id 为 int,无默认值。
[ @publisher = ] 'publisher'
发布服务器的名称。 publisher 为 sysname,默认值为 NULL。
备注
应仅为非 Microsoft SQL Server发布服务器指定此参数。
[ @publisher_db = ] 'publisher_db'
发布数据库的名称。 publisher_db 为 sysname,默认值为 NULL。 如果在发布服务器上执行该存储过程,将忽略此参数。
结果集
列名称 | 数据类型 | 说明 |
---|---|---|
distributor_latency | bigint | 在发布服务器上提交的跟踪令牌记录与在分发服务器上提交的记录之间的秒数。 |
订阅服务器 | sysname | 收到跟踪令牌的订阅服务器的名称。 |
subscriber_db | sysname | 在其中插入跟踪令牌记录的订阅数据库的名称。 |
subscriber_latency | bigint | 在分发服务器上提交的跟踪令牌记录和在订阅服务器上提交的记录间隔的秒数。 |
overall_latency | bigint | 在发布服务器上提交的跟踪令牌记录和在订阅服务器上提交的令牌记录间隔的秒数。 |
返回代码值
0 (成功) 或 1 (失败)
备注
sp_helptracertokenhistory 用于事务复制。
执行 sp_helptracertokens (Transact-SQL) 以获取发布的跟踪令牌列表。
结果集中的 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。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈