Domanda

Mi piacerebbe scrivere uno script SQL per fare un test del fumo di base per verificare che l'installazione di replica sul mio server sia corretto.

Credo che un semplice insieme di operazioni CRUD contro le tabelle che dovrebbero essere replicati otterrà quello che sto cercando e immagino il flusso di lavoro sarà simile a questo:

  1. INSERT una riga in una tabella replicata nel db publisher
  2. Attendere il processo di replica da eseguire?
  3. Controllare la riga esiste nella tabella nel db abbonato

La mia domanda è, come faccio a fare un passo 2? Credo di poter controllare quando il lavoro in questione è stata eseguita per ultima, cercando nelle tabelle msdb..sysjob*, ma non sono sicuro che questo è il modo migliore per risolvere il problema.

È stato utile?

Soluzione

Per la replica snapshot è possibile controllare se davvero sia i lavori sono stati eseguiti (agente snapshot e agente di distribuzione), ma per unione e transazionale non è possibile in quanto gli agenti correre continuamente.

Per transazionale è possibile inserire un tracciante di token e verificare se il token di traccia è contrassegnato come distribuita al sottoscrittore, utilizzando sp_posttracertoken e sp_helptracertokenhistory .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top