Condividi tramite


Procedura: Convalida dei dati nel Sottoscrittore (programmazione Transact-SQL della replica)

La replica consente di convalidare a livello di programmazione la corrispondenza tra i dati nel Sottoscrittore e i dati nel server di pubblicazione utilizzando stored procedure di replica. Le stored procedure utilizzate variano in base al tipo di topologia di replica.

Per convalidare i dati per tutti gli articoli in una pubblicazione transazionale

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_publication_validation (Transact-SQL). Specificare @publication e uno dei valori riportati di seguito per @rowcount_only.

    • 1: convalida solo mediante conteggio delle righe (impostazione predefinita).

    • 2: convalida mediante conteggio delle righe e checksum binario.

    [!NOTA]

    Quando si esegue sp_publication_validation (Transact-SQL), sp_article_validation (Transact-SQL) viene eseguito per ogni articolo nella pubblicazione. Per eseguire correttamente sp_publication_validation (Transact-SQL), è necessario disporre delle autorizzazioni SELECT per tutte le colonne nelle tabelle di base pubblicate.

  2. (Facoltativo) Avviare l'agente di distribuzione per ogni sottoscrizione, se non è già in esecuzione. Per ulteriori informazioni, vedere Procedura: Sincronizzazione di una sottoscrizione pull (programmazione della replica) e Procedura: Sincronizzazione di una sottoscrizione push (programmazione della replica).

  3. Verificare l'output dell'agente per il risultato della convalida. Per ulteriori informazioni, vedere Convalida dei dati replicati.

Per convalidare i dati per un singolo articolo in una pubblicazione transazionale

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_article_validation (Transact-SQL). Specificare @publication, il nome dell'articolo per @article e uno dei valori riportati di seguito per @rowcount_only.

    • 1: convalida solo mediante conteggio delle righe (impostazione predefinita).

    • 2: convalida mediante conteggio delle righe e checksum binario.

    [!NOTA]

    Per eseguire correttamente sp_article_validation (Transact-SQL), è necessario disporre delle autorizzazioni SELECT per tutte le colonne nella tabella di base pubblicata.

  2. (Facoltativo) Avviare l'agente di distribuzione per ogni sottoscrizione, se non è già in esecuzione. Per ulteriori informazioni, vedere Procedura: Sincronizzazione di una sottoscrizione pull (programmazione della replica) e Procedura: Sincronizzazione di una sottoscrizione push (programmazione della replica).

  3. Verificare l'output dell'agente per il risultato della convalida. Per ulteriori informazioni, vedere Convalida dei dati replicati.

Per convalidare i dati per un singolo Sottoscrittore di una pubblicazione transazionale

  1. Nel database di pubblicazione del server di pubblicazione aprire una transazione esplicita utilizzando BEGIN TRANSACTION (Transact-SQL).

  2. Nel database di pubblicazione del server di pubblicazione eseguire sp_marksubscriptionvalidation (Transact-SQL). Specificare la pubblicazione per @publication, il nome del Sottoscrittore per @subscriber e il nome del database di sottoscrizione per @destination_db.

  3. (Facoltativo) Ripetere il passaggio 2 per ciascuna sottoscrizione da convalidare.

  4. Nel database di pubblicazione del server di pubblicazione eseguire sp_article_validation (Transact-SQL). Specificare @publication, il nome dell'articolo per @article e uno dei valori riportati di seguito per @rowcount_only.

    • 1: convalida solo mediante conteggio delle righe (impostazione predefinita).

    • 2: convalida mediante conteggio delle righe e checksum binario.

    [!NOTA]

    Per eseguire correttamente sp_article_validation (Transact-SQL), è necessario disporre delle autorizzazioni SELECT per tutte le colonne nella tabella di base pubblicata.

  5. Nel database di pubblicazione del server di pubblicazione eseguire il commit della transazione utilizzando COMMIT TRANSACTION (Transact-SQL).

  6. (Facoltativo) Ripetere i passaggi da 1 a 5 per ciascun articolo da convalidare.

  7. (Facoltativo) Avviare l'agente di distribuzione, se non è già in esecuzione. Per ulteriori informazioni, vedere Procedura: Sincronizzazione di una sottoscrizione pull (programmazione della replica) e Procedura: Sincronizzazione di una sottoscrizione push (programmazione della replica).

  8. Verificare l'output dell'agente per il risultato della convalida. Per ulteriori informazioni, vedere Procedura: Convalida dei dati nel Sottoscrittore (SQL Server Management Studio).

Per convalidare i dati in tutte le sottoscrizioni di una pubblicazione di tipo merge

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_validatemergepublication (Transact-SQL). Specificare @publication e uno dei valori riportati di seguito per @level.

    • 1: convalida solo mediante conteggio delle righe.

    • 3: convalida mediante conteggio delle righe e checksum binario.

    Tutte le sottoscrizioni vengono contrassegnate per la convalida.

  2. Avviare l'agente di merge per ciascuna sottoscrizione. Per ulteriori informazioni, vedere Procedura: Sincronizzazione di una sottoscrizione pull (programmazione della replica) e Procedura: Sincronizzazione di una sottoscrizione push (programmazione della replica).

  3. Verificare l'output dell'agente per il risultato della convalida. Per ulteriori informazioni, vedere Procedura: Convalida dei dati nel Sottoscrittore (SQL Server Management Studio).

Per convalidare i dati nelle sottoscrizioni selezionate di una pubblicazione di tipo merge

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_validatemergesubscription (Transact-SQL). Specificare @publication, il nome del Sottoscrittore per @subscriber, il nome del database di sottoscrizione per @subscriber_db e uno dei valori riportati di seguito per @level.

    • 1: convalida solo mediante conteggio delle righe.

    • 3: convalida mediante conteggio delle righe e checksum binario.

    La sottoscrizione selezionata viene contrassegnata per la convalida.

  2. Avviare l'agente di merge per ciascuna sottoscrizione. Per ulteriori informazioni, vedere Procedura: Sincronizzazione di una sottoscrizione pull (programmazione della replica) e Procedura: Sincronizzazione di una sottoscrizione push (programmazione della replica).

  3. Verificare l'output dell'agente per il risultato della convalida.

  4. Ripetere i passaggi da 1 a 3 per ciascuna sottoscrizione da convalidare.

[!NOTA]

È inoltre possibile convalidare una sottoscrizione di una pubblicazione di tipo merge alla fine di una sincronizzazione, specificando il parametro -Validate al momento dell'esecuzione di Agente merge repliche.

Per convalidare i dati in una sottoscrizione utilizzando i parametri dell'agente di merge