sp_setsubscriptionxactseqno (Transact-SQL)
Viene utilizzata durante la risoluzione dei problemi e consente di specificare il numero di sequenza del file di log (LSN) della successiva transazione che dovrà essere applicata dall'agente di distribuzione nel Sottoscrittore, in modo che l'agente possa ignorare una transazione non riuscita. Questa stored procedure viene eseguita nel database di sottoscrizione del Sottoscrittore e non è supportata per Sottoscrittori non SQL Server.
Attenzione: |
---|
Se si utilizza questa stored procedure in modo non corretto oppure si specifica un valore LSN non corretto, è possibile che l'agente di distribuzione annulli modifiche già applicate nel Sottoscrittore oppure ignori tutte le restanti modifiche. |
Convenzioni della sintassi Transact-SQL
Sintassi
sp_setsubscriptionxactseqno [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
, [ @xact_seqno = ] xact_seqno
Argomenti
- [ @publisher= ] 'publisher'
Nome del server di pubblicazione. publisher è di tipo sysname e non prevede alcun valore predefinito.
- [ @publisher_db= ] 'publisher_db'
Nome del database di pubblicazione. publisher_db è di tipo sysname e non prevede alcun valore predefinito. Per un server di pubblicazione non SQL Server, publisher_db corrisponde al nome del database di distribuzione.
- [ @publication= ] 'publication'
Nome della pubblicazione. publication è di tipo sysname e non prevede alcun valore predefinito. Quando l'agente di distribuzione è condiviso tra più pubblicazioni, è necessario specificare il valore ALL per publication.
- [ @xact_seqno= ] xact_seqno
LSN della successiva transazione del server di distribuzione da applicare nel Sottoscrittore. xact_seqno è di tipo varbinary(16) e non prevede alcun valore predefinito.
Set di risultati
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
ORIGINAL XACT_SEQNO |
varbinary(16) |
LSN originale della successiva transazione da applicare nel Sottoscrittore. |
UPDATED XACT_SEQNO |
varbinary(16) |
LSN aggiornato della successiva transazione da applicare nel Sottoscrittore. |
SUBSCRIPTION STREAM COUNT |
int |
Numero di flussi di sottoscrizione utilizzati durante l'ultima sincronizzazione. |
Osservazioni
sp_setsubscriptionxactseqno viene utilizzata per la replica transazionale.
sp_setsubscriptionxactseqno non può essere utilizzata in una topologia di replica transazionale peer-to-peer.
sp_setsubscriptionxactseqno può essere utilizzata per ignorare una transazione specifica che causa un errore quando viene applicata nel Sottoscrittore. Quando si verifica un errore che causa un'interruzione dell'agente di distribuzione, chiamare sp_helpsubscriptionerrors (Transact-SQL) nel server di distribuzione per recuperare il valore xact_seqno della transazione non riuscita, quindi chiamare sp_setsubscriptionxactseqno passando questo valore per xact_seqno. In questo modo verranno elaborati solo i comandi successivi a questo LSN.
Specificare il valore 0 per xact_seqno per recapitare al Sottoscrittore tutti i comandi in sospeso nel database di distribuzione.
sp_setsubscriptionxactseqno può avere esito negativo se l'agente di distribuzione utilizza più flussi di sottoscrizione.
Quando si verifica questo errore, è necessario eseguire l'agente di distribuzione con un flusso di sottoscrizione singolo. Per ulteriori informazioni, vedere Replication Distribution Agent.
Autorizzazioni
Solo i membri del ruolo predefinito del server sysadmin o del ruolo predefinito del database db_owner possono eseguire sp_setsubscriptionxactseqno.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Vedere anche
Altre risorse
Errori da ignorare nella replica transazionale