Condividi tramite


sp_posttracertoken (Transact-SQL)

Questa procedura inserisce un token di traccia nel log delle transazioni nel server di pubblicazione e inizia il processo di traccia delle statistiche di latenza. Le informazioni vengono registrate quando il token di traccia viene scritto nel log delle transazioni, quando viene prelevato dall'agente di lettura log e quando viene applicato dall'agente di distribuzione. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione. Per ulteriori informazioni, vedere Misurazione della latenza e convalida delle connessioni per la replica transazionale.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_posttracertoken [ @publication = ] 'publication' 
    [ , [ @tracer_token_id = ] tracer_token_id OUTPUT
    [ , [ @publisher = ] 'publisher' 

Argomenti

  • [ @publication= ] 'publication'
    Nome della pubblicazione di cui viene misurata la latenza. publication è di tipo sysname e non prevede alcun valore predefinito.

  • [ @tracer_token_id= ] tracer_token_idOUTPUT
    ID del token di traccia inserito. tracer_token_id è di tipo int e il valore predefinito è NULL. Si tratta di un parametro OUTPUT. Questo valore può essere utilizzato per eseguire sp_helptracertokenhistory (Transact-SQL) o sp_deletetracertokenhistory (Transact-SQL) senza prima eseguire sp_helptracertokens (Transact-SQL).

  • [ @publisher= ] 'publisher'
    Indica un server di pubblicazione non Microsoft SQL Server. publisher è di tipo sysname e il valore predefinito è NULL. Non deve essere specificato per un server di pubblicazione SQL Server.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

La stored procedure sp_posttracertoken viene utilizzata per la replica transazionale.

Esempio

DECLARE @publication AS sysname;
DECLARE @tokenID AS int;
SET @publication = N'AdvWorksProductTran'; 

USE [AdventureWorks2008R2]

-- 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 o del ruolo predefinito del database db_owner possono eseguire sp_posttracertoken.