Condividi tramite


sp_helptracertokenhistory (Transact-SQL)

Si applica a:SQL ServerIstanza gestita di SQL di Azure

Restituisce informazioni dettagliate sulla latenza per i token di traccia specificati. Per ogni Sottoscrittore, viene restituita una riga. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione o nel database di distribuzione del server di distribuzione.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

sp_helptracertokenhistory
    [ @publication = ] N'publication'
    , [ @tracer_id = ] tracer_id
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @publisher_db = ] N'publisher_db' ]
[ ; ]

Argomenti

[ @publication = ] N'publication'

Nome della pubblicazione in cui è stato inserito il token di traccia. @publication è sysname, senza impostazione predefinita.

[ @tracer_id = ] tracer_id

ID del token di traccia nella tabella MStracer_tokens , per cui vengono restituite informazioni sulla cronologia. @tracer_id è int, senza impostazione predefinita.

[ @publisher = ] N'publisher'

Nome del server di pubblicazione. @publisher è sysname, con un valore predefinito .NULL

@publisher deve essere specificato solo per server di pubblicazione non SQL Server.

[ @publisher_db = ] N'publisher_db'

Nome del database di pubblicazione. @publisher_db è sysname, con il valore predefinito NULL. Questo parametro viene ignorato se la stored procedure viene eseguita nel server di pubblicazione.

Set di risultati

Nome colonna Tipo di dati Descrizione
distributor_latency bigint Numero di secondi che intercorrono tra il commit del record del token di traccia nel server di pubblicazione e il commit nel server di distribuzione.
subscriber sysname Nome del Sottoscrittore che ha ricevuto il token di traccia.
subscriber_db sysname Nome del database di sottoscrizione in cui è stato inserito il record del token di traccia.
subscriber_latency bigint Numero di secondi che intercorrono tra il commit del record del token di traccia nel server di distribuzione e il commit nel Sottoscrittore.
overall_latency bigint Numero di secondi che intercorrono tra il commit del record del token di traccia nel server di pubblicazione e il commit nel Sottoscrittore.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

sp_helptracertokenhistory viene usato nella replica transazionale.

Eseguire sp_helptracertokens per ottenere un elenco di token di traccia per la pubblicazione.

Un valore di nel set di NULL risultati indica che le statistiche di latenza non possono essere calcolate. Ciò è dovuto al fatto che il token di traccia non è stato ricevuto nel server di distribuzione o in uno dei Sottoscrittori.

Esempi

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

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin, il ruolo predefinito del database di db_owner nel database di pubblicazione o db_owner ruoli predefiniti del database o del replmonitor nel database di distribuzione possono eseguire sp_helptracertokenhistory.