Condividi tramite


Convalida dei dati replicati

La replica transazionale e la replica di tipo merge consentono di verificare che i dati presenti nel Sottoscrittore corrispondano ai dati nel server di pubblicazione. La convalida può essere eseguita per sottoscrizioni specifiche o per tutte le sottoscrizioni di una pubblicazione. Specificare uno dei tipi seguenti di convalida dei dati, che verrà eseguita dall'agente di distribuzione o dall'agente di merge alla successiva sincronizzazione:

  • Conteggio delle sole righe. Questo tipo di convalida verifica se la tabella nel Sottoscrittore ha lo stesso numero di righe della tabella nel server di pubblicazione, ma non verifica che il contenuto delle righe corrisponda. La convalida del conteggio delle righe rappresenta un metodo superficiale che consente di conoscere lo stato dei dati.
  • Conteggio delle righe e checksum binario. Oltre al conteggio delle righe nel server di pubblicazione e nel Sottoscrittore, viene calcolato il checksum di tutti i dati tramite lo specifico algoritmo di checksum introdotto in Microsoft SQL Server 2000. In caso di esito negativo durante il conteggio delle righe il checksum non viene eseguito.
  • Conteggio delle righe e checksum. Questa opzione è obsoleta e deve essere utilizzata solo per i Sottoscrittori che eseguono Microsoft SQL Server versione 7.0. Esegue la stessa procedura del conteggio delle righe e del checksum binario, tuttavia utilizzando l'algoritmo di checksum disponibile in SQL Server versione 7.0. Per ulteriori informazioni vedere la sezione relativa al funzionamento della convalida dei dati in questo argomento.

Oltre a verificare che i dati nel Sottoscrittore corrispondano ai dati nel server di pubblicazione, la replica di tipo merge consente di verificare che i dati vengano partizionati correttamente per ogni Sottoscrittore. Per ulteriori informazioni, vedere Convalida delle informazioni sulle partizioni per un Sottoscrittore di tipo merge.

Per convalidare i dati

Per convalidare tutti gli articoli di una sottoscrizione, utilizzare SQL Server Management Studio, stored procedure o Replication Management Objects (RMO). Per convalidare singoli articoli di pubblicazioni snapshot e transazionali, è necessario utilizzare stored procedure.

Risultati della convalida dei dati

Al termine della convalida nell'agente di distribuzione o nell'agente di merge vengono registrati messaggi relativi all'esito positivo o negativo dell'operazione. Non vengono specificate le righe con esito negativo. È possibile visualizzare tali messaggi in SQL Server Management Studio, Monitoraggio replica e nelle tabelle di sistema di replica. Negli argomenti elencati sopra vengono illustrate le procedure di esecuzione della convalida e di visualizzazione dei risultati.

Per gestire gli errori di convalida, considerare quanto segue:

Considerazioni sulla convalida dei dati

Durante la convalida dei dati è opportuno considerare gli aspetti seguenti:

  • Prima di eseguire la convalida dei dati è necessario interrompere tutte le attività di aggiornamento nei Sottoscrittori. Non è necessario interrompere l'eventuale aggiornamento nel server di pubblicazione durante la convalida.
  • Poiché la convalida di set di dati estesi mediante checksum e checksum binari può richiedere quantità elevate di risorse di elaborazione, è opportuno pianificare la convalida in modo che venga eseguita nei periodi di attività minore nei server utilizzati per la replica.
  • La replica convalida soltanto le tabelle e non verifica che gli articoli solo schema, ad esempio le stored procedure, presenti nel server di pubblicazione e nel Sottoscrittore corrispondano.
  • Il checksum binario può essere utilizzato per qualsiasi tabella pubblicata. Non è possibile convalidare mediante il calcolo del checksum tabelle con filtri colonne o strutture di tabelle logiche con offset di colonna diversi, a causa di istruzioni di tipo ALTER TABLE che eliminano o aggiungono colonne.
  • I dati delle colonne text, ntext o image non vengono inclusi nei calcoli del valore di checksum.
  • La convalida eseguita mediante il calcolo del checksum o checksum binario può segnalare erroneamente un esito negativo se nel Sottoscrittore vi sono tipi di dati diversi rispetto al server di pubblicazione. Ciò può verificarsi se si inizializza manualmente una sottoscrizione, se si utilizzano nel Sottoscrittore tipi di dati diversi oppure se per un articolo si utilizzano le opzioni di schema seguenti:
    • Mapping dei tipi di dati definiti dall'utente in tipi di dati di base (opzione di schema 0x20)
    • Mapping di xml in ntext (opzione di schema 0x10000000)
    • Mapping di nvarchar(max) e varbinary(max) in tipi di dati supportati nelle precedenti versioni di SQL Server (opzione di schema 0x20000000).
      Per ulteriori informazioni sulle opzioni di schema, vedere Pubblicazione di dati e oggetti di database.
  • Le convalide mediante calcoli del checksum e checksum binario non sono supportate per la replica transazionale di sottoscrizioni trasformabili.
  • La convalida non è supportata per i dati replicati in Sottoscrittori non SQL Server.

Funzionamento della convalida dei dati

In SQL Server i dati vengono convalidati tramite il conteggio delle righe o il calcolo del checksum nel server di pubblicazione e nel Sottoscrittore e il successivo confronto dei risultati. Viene calcolato un solo valore per l'intera tabella di pubblicazione e un solo valore per l'intera tabella di sottoscrizione. I dati delle colonne di tipo text, ntext o image non vengono inclusi nel calcolo.

Durante l'esecuzione del calcolo vengono attivati temporaneamente i blocchi condivisi sulle tabelle per le quali viene eseguito il conteggio delle righe o il calcolo del checksum. Il calcolo viene comunque completato e i blocchi condivisi vengono subito rimossi.

Quando si utilizzano valori checksum binari, il controllo di ridondanza ciclico (CRC) a 32 bit viene eseguito su ogni colonna anziché sulla riga fisica di una pagina di dati. Le colonne possono essere pertanto ordinate fisicamente in qualsiasi modo nella pagina di dati e al medesimo tempo ottenere lo stesso CRC per la riga. La convalida mediante checksum binario può essere utilizzata quando alla pubblicazione sono applicati filtri di riga o di colonna. Nei Sottoscrittori che eseguono SQL Server versione 7.0 è necessario utilizzare gli algoritmi di checksum disponibili in SQL Server versione 7.0, che generano valori CRC diversi dai valori generati con SQL Server 2000 e versioni successive. Mediante le routine di checksum di SQL Server versione 7.0 non è possibile convalidare tabelle con filtri colonne o strutture di tabelle logiche con offset di colonna diversi, a causa di istruzioni di tipo ALTER TABLE che eliminano o aggiungono colonne.

Vedere anche

Concetti

Procedure consigliate per l'amministrazione della replica

Altre risorse

Amministrazione della replica

Guida in linea e informazioni

Assistenza su SQL Server 2005