Impostazione del metodo di propagazione per le modifiche ai dati negli articoli transazionali

In questo argomento viene descritto come impostare il metodo di propagazione per le modifiche ai dati negli articoli transazionali in SQL Server 2012 tramite SQL Server Management Studio o Transact-SQL.

Per impostazione predefinita, la replica transazionale propaga le modifiche ai Sottoscrittori tramite un set di stored procedure per ogni articolo. È possibile sostituire tali procedure con procedure personalizzate. Per ulteriori informazioni, vedere Impostazione della modalità di propagazione delle modifiche per gli articoli transazionali.

Contenuto dell'argomento

  • Prima di iniziare:

    Limitazioni e restrizioni

  • Per impostare il metodo di propagazione per la modifica dei dati negli articoli transazionali tramite:

    SQL Server Management Studio

    Transact-SQL

Prima di iniziare

Limitazioni e restrizioni

  • È consigliabile prestare particolare attenzione quando si modificano i file di snapshot generati dalla replica. È necessario testare e supportare la logica personalizzata nelle stored procedure personalizzate. Microsoft non fornisce supporto per la logica personalizzata.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo di SQL Server Management Studio

Specificare il metodo di propagazione nella scheda Proprietà della finestra di dialogo Proprietà articolo - <Articolo>, disponibile in Creazione guidata nuova pubblicazione e nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione>. Per ulteriori informazioni sull'utilizzo della procedura guidata e sull'accesso a questa finestra di dialogo, vedere Creazione di una pubblicazione e Visualizzazione e modifica delle proprietà della pubblicazione.

Per specificare il metodo di propagazione

  1. Nella pagina Articoli di Creazione guidata nuova pubblicazione o nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione> selezionare una tabella e quindi fare clic su Proprietà articolo.

  2. Fare clic su Imposta proprietà dell'articolo tabella evidenziato.

  3. Nella scheda Proprietà della finestra di dialogo Proprietà articolo - <Articolo>, all'interno della sezione Recapito istruzione, specificare il metodo di propagazione per ogni operazione utilizzando i menu Formato recapito INSERT, Formato recapito UPDATE e Formato recapito DELETE.

  4. Fare clic su OK.

  5. Se è visualizzata la finestra di dialogo Proprietà pubblicazione - <Pubblicazione> fare clic su OK per salvare e chiudere la finestra di dialogo.

Per generare e utilizzare stored procedure personalizzate

  1. Nella pagina Articoli di Creazione guidata nuova pubblicazione o nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione> selezionare una tabella e quindi fare clic su Proprietà articolo.

  2. Fare clic su Imposta proprietà dell'articolo tabella evidenziato.

    Nella scheda Proprietà della finestra di dialogo Proprietà articolo - <Articolo>, all'interno della sezione Recapito istruzione, selezionare la sintassi CALL dal menu del formato di recapito appropriato (Formato recapito INSERT, Formato recapito UPDATE o Formato recapito DELETE) e digitare il nome della stored procedure da utilizzare in Stored procedure INSERT, Stored procedure DELETE o Stored procedure UPDATE. Per ulteriori informazioni sulla sintassi CALL, vedere la sezione relativa alla sintassi Call per le stored procedure in Impostazione della modalità di propagazione delle modifiche per gli articoli transazionali.

  3. Fare clic su OK.

  4. Se è visualizzata la finestra di dialogo Proprietà pubblicazione - <Pubblicazione> fare clic su OK per salvare e chiudere la finestra di dialogo.

  5. Quando lo snapshot per la pubblicazione viene generato, esso include la procedura specificata nel passaggio precedente. Le procedure utilizzeranno la sintassi CALL specificata, ma includeranno la logica predefinita utilizzata dalla replica.

    Dopo la generazione dello snapshot, passare alla cartella dello snapshot per la pubblicazione a cui appartiene questo articolo e individuare il file con estensione sch che presenta lo stesso nome dell'articolo. Aprire il file mediante Blocco note o un altro editor di testo, individuare il comando CREATE PROCEDURE per le stored procedure di inserimento, aggiornamento o eliminazione, quindi modificare la definizione della procedura in modo da fornire qualsiasi logica personalizzata per la propagazione delle modifiche ai dati. Se lo snapshot viene rigenerato, è necessario ricreare la stored procedura personalizzata.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Utilizzo di Transact-SQL

La replica transazionale consente di controllare la modalità con cui le modifiche vengono propagate dal server di pubblicazione ai Sottoscrittori. Questo metodo di propagazione può inoltre essere impostato a livello di programmazione quando un articolo viene creato e in seguito modificato tramite le stored procedure di replica.

[!NOTA]

È possibile specificare un metodo di propagazione diverso per ogni tipo di operazione DML (Data Manipulation Language), ovvero inserimento, aggiornamento o eliminazione, che si verifica in una riga di dati pubblicati.

Per ulteriori informazioni, vedere Impostazione della modalità di propagazione delle modifiche per gli articoli transazionali.

Per creare un articolo che utilizza comandi Transact-SQL per propagare le modifiche ai dati

  • Nel database di pubblicazione del server di pubblicazione eseguire sp_addarticle. Specificare il nome della pubblicazione cui appartiene l'articolo per @publication, il nome dell'articolo per @article, l'oggetto di database da pubblicare per @source_object e il valore SQL per almeno uno dei parametri seguenti:

    • @ins_cmd: controlla la replica dei comandi INSERT.

    • @upd_cmd: controlla la replica dei comandi UPDATE.

    • @del_cmd: controlla la replica dei comandi DELETE.

    [!NOTA]

    Quando si specifica il valore SQL per uno dei parametri indicati in precedenza, i comandi di tale tipo verranno replicati nel Sottoscrittore come comandi Transact-SQL appropriati.

    Per ulteriori informazioni, vedere Definizione di un articolo.

Per creare un articolo che non propaga le modifiche ai dati

  • Nel database di pubblicazione del server di pubblicazione eseguire sp_addarticle. Specificare il nome della pubblicazione cui appartiene l'articolo per @publication, il nome dell'articolo per @article, l'oggetto di database da pubblicare per @source_object e il valore NONE per almeno uno dei parametri seguenti:

    • @ins_cmd: controlla la replica dei comandi INSERT.

    • @upd_cmd: controlla la replica dei comandi UPDATE.

    • @del_cmd: controlla la replica dei comandi DELETE.

    [!NOTA]

    Quando si specifica il valore NONE per uno dei parametri indicati in precedenza, i comandi di tale tipo non verranno replicati nel Sottoscrittore.

    Per ulteriori informazioni, vedere Definizione di un articolo.

Per creare un articolo con stored procedure personalizzate modificate dall'utente

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_addarticle. Specificare il nome della pubblicazione cui appartiene l'articolo per @publication, il nome dell'articolo per @article, l'oggetto di database da pubblicare per @source_object, un valore per la maschera di bit @schema_option che contiene il valore 0x02 (consente la generazione automatica di stored procedure personalizzate) e almeno uno dei parametri seguenti:

    • @ins_cmd: specificare il valore CALL sp_MSins_article_name, dove article_name è il valore specificato per @article.

    • @del_cmd: specificare il valore CALL sp_MSdel_article_name o XCALL sp_MSdel_article_name, dove article_name è il valore specificato per @article.

    • @upd_cmd: specificare il valore SCALL sp_MSupd_article_name, CALL sp_MSupd_article_name, XCALL sp_MSupd_article_name o MCALL sp_MSupd_article_name, dove article_name è il valore specificato per @article.

    [!NOTA]

    Per ognuno dei parametri di comando indicati in precedenza, è possibile specificare il nome desiderato per le stored procedure generate dalla replica.

    [!NOTA]

    Per ulteriori informazioni sulla sintassi di CALL, SCALL, XCALL e MCALL, vedere Impostazione della modalità di propagazione delle modifiche per gli articoli transazionali.

    Per ulteriori informazioni, vedere Definizione di un articolo.

  2. Dopo la generazione dello snapshot, passare alla cartella snapshot per la pubblicazione cui appartiene questo articolo e individuare il file con estensione sch che presenta lo stesso nome dell'articolo. Aprire il file mediante Notepad.exe, individuare il comando CREATE PROCEDURE per le stored procedure di inserimento, aggiornamento o eliminazione e modificare la definizione della procedura per specificare la logica personalizzata per la propagazione delle modifiche ai dati. Per ulteriori informazioni, vedere Impostazione della modalità di propagazione delle modifiche per gli articoli transazionali.

Per creare un articolo con scripting personalizzato nelle stored procedure personalizzate per propagare le modifiche ai dati

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_addarticle. Specificare il nome della pubblicazione cui appartiene l'articolo per @publication, il nome dell'articolo per @article, l'oggetto di database da pubblicare per @source_object, un valore per la maschera di bit @schema_option che contiene il valore 0x02 (consente la generazione automatica di stored procedure personalizzate) e almeno uno dei parametri seguenti:

    • @ins_cmd: specificare il valore CALL sp_MSins_article_name, dove article_name è il valore specificato per @article.

    • @del_cmd: specificare il valore CALL sp_MSdel_article_name o XCALL sp_MSdel_article_name, dove article_name è il valore specificato per @article.

    • @upd_cmd: specificare il valore SCALL sp_MSupd_article_name, CALL sp_MSupd_article_name, XCALL sp_MSupd_article_name, MCALL sp_MSupd_article_name, dove article_name è il valore specificato per @article.

    [!NOTA]

    Per ognuno dei parametri di comando indicati in precedenza, è possibile specificare il nome desiderato per le stored procedure generate dalla replica.

    [!NOTA]

    Per ulteriori informazioni sulla sintassi di CALL, SCALL, XCALL e MCALL, vedere Impostazione della modalità di propagazione delle modifiche per gli articoli transazionali.

    Per ulteriori informazioni, vedere Definizione di un articolo.

  2. Nel database di pubblicazione del server di pubblicazione utilizzare l'istruzione ALTER PROCEDURE per modificare sp_scriptpublicationcustomprocs in modo che restituisca uno script CREATE PROCEDURE per le stored procedure personalizzate di inserimento, aggiornamento ed eliminazione. Per ulteriori informazioni, vedere Impostazione della modalità di propagazione delle modifiche per gli articoli transazionali.

Per modificare il metodo di propagazione delle modifiche per un articolo esistente

  1. Nel database di pubblicazione del server di pubblicazione eseguire sp_changearticle. Specificare @publication, @article, il valore ins_cmd, upd_cmd o del_cmd per @property e il metodo di propagazione appropriato per @value.

  2. Ripetere il passaggio 1 per ogni metodo di propagazione da modificare.

Icona freccia utilizzata con il collegamento Torna all'inizio[Top]

Vedere anche

Concetti

Impostazione della modalità di propagazione delle modifiche per gli articoli transazionali

Creazione, modifica ed eliminazione di pubblicazioni e articoli (replica)