Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Istanza gestita di SQL di Azure
Questo argomento descrive come impostare il metodo di propagazione per le modifiche ai dati negli articoli transazionali in SQL Server 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 altre informazioni, vedere Specificare la modalità di propagazione delle modifiche per gli articoli transazionali.
Operazioni preliminari
Limitazioni e restrizioni
- È consigliabile prestare particolare attenzione quando si modificano i file di snapshot generati dalla replica. Eseguire test e fornire supporto per la logica personalizzata nelle stored procedure personalizzate. Microsoft non fornisce supporto per la logica personalizzata.
Utilizzo di SQL Server Management Studio
Specificare il metodo di propagazione nella scheda Proprietà della finestra di dialogo Proprietà articolo - <Articolo>, disponibile nella Creazione guidata Nuova pubblicazione e nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione>. Per altre informazioni sull'uso della creazione guidata e l'accesso alla finestra di dialogo, vedere Creare una pubblicazione e Visualizzare e modificare le proprietà della pubblicazione.
Per specificare il metodo di propagazione
Nella pagina Articoli della Creazione guidata Nuova pubblicazione o nella finestra di dialogo Proprietà pubblicazione - <Pubblicazione>, selezionare una tabella e quindi selezionare Proprietà articolo.
Selezionare Imposta le proprietà dell'articolo della tabella evidenziato.
Nella scheda Proprietà della finestra di dialogo Proprietà articolo - <Articolo>, nella sezione Recapito istruzioni, specificare il metodo di propagazione per ogni operazione usando i menu INSERTformato di recapito, UPDATEformato di recapito e DELETEformato di recapito.
Seleziona OK.
Se è visualizzata la finestra di dialogo Proprietà pubblicazione - <Pubblicazione>, selezionare OK per salvare e chiudere la finestra di dialogo.
Per generare e utilizzare le stored procedure personalizzate
Nella pagina Articoli della Creazione guidata Nuova pubblicazione o nella finestra di dialogo Proprietà della pubblicazione - <Pubblicazione>, selezionare una tabella e quindi Proprietà dell'articolo.
Selezionare Imposta le proprietà dell'articolo di tabella evidenziato.
Nella scheda
Proprietà Proprietà articolo -Articolo , nella sezione Distribuzione istruzioni , selezionare la sintassi CALL dal menu del formato di distribuzione appropriato (formato di distribuzione ,formato di distribuzione oformato di distribuzione ) e quindi digitare il nome della procedura da utilizzare inprocedura archiviata ,procedura archiviata oprocedura archiviata . Per altre informazioni sulla sintassi CALL, vedere la sezione "Sintassi di chiamata per le stored procedure" in Specificare la modalità di propagazione delle modifiche per gli articoli transazionali.Seleziona OK.
Se è visualizzata la finestra di dialogo Proprietà pubblicazione - <Pubblicazione>, selezionare OK per salvare e chiudere la finestra di dialogo.
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 snapshot per la pubblicazione cui appartiene questo articolo e individuare il file con estensione sch che presenta lo stesso nome dell'articolo. Aprire questo file usando Blocco note o un altro editor di testo, individuare il comando CREATE PROCEDURE per le stored procedure di inserimento, aggiornamento o eliminazione e modificare la definizione della procedura per specificare l'eventuale logica personalizzata per la propagazione delle modifiche ai dati. Se lo snapshot viene rigenerato, è necessario creare di nuovo la procedura memorizzata personalizzata.
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 altre informazioni, vedere Specificare la 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 server di pubblicazione, nel database 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_objecte il valore SQL per almeno uno dei parametri seguenti:
@ins_cmd : controlla la replica dei INSERT comandi.
@upd_cmd : controlla la replica dei UPDATE comandi.
@del_cmd : controlla la replica dei DELETE comandi.
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 altre informazioni, vedere definire un articolo.
Per creare un articolo che non propaga le modifiche ai dati
Nel server di pubblicazione, nel database 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_objecte il valore NONE per almeno uno dei parametri seguenti:
@ins_cmd : controlla la replica dei INSERT comandi.
@upd_cmd : controlla la replica dei UPDATE comandi.
@del_cmd : controlla la replica dei DELETE comandi.
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 altre informazioni, vedere definire un articolo.
Per creare un articolo con stored procedure personalizzate modificate dall'utente
Nel server di pubblicazione, nel database 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 altre informazioni sulla sintassi CALL, SCALL, XCALL e MCALL, vedere Specificare la modalità di propagazione delle modifiche per gli articoli transazionali.
Per altre informazioni, vedere definire un articolo.
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. Apri questo file usando Notepad.exe, individua il comando CREATE PROCEDURE relativo alle stored procedure di inserimento, aggiornamento o eliminazione e modifica la definizione della procedura per includere eventuale logica personalizzata per la propagazione delle modifiche ai dati. Per altre informazioni, vedere Specificare la modalità di propagazione delle modifiche per gli articoli transazionali.
Per creare un articolo con script personalizzati all'interno delle stored procedure personalizzate per propagare le modifiche ai dati
Nel server di pubblicazione, nel database 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 altre informazioni sulla sintassi CALL, SCALL, XCALL e MCALL, vedere Specificare la modalità di propagazione delle modifiche per gli articoli transazionali.
Per altre informazioni, vedere definire un articolo.
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 altre informazioni, vedere Specificare la modalità di propagazione delle modifiche per gli articoli transazionali.
Per modificare il metodo di propagazione delle modifiche per un articolo esistente
Nel database di pubblicazione del server di pubblicazione eseguire sp_changearticle. Specificare @publication, @article, il valore ins_cmd, upd_cmdo del_cmd per @propertye il metodo di propagazione appropriato per @value.
Ripetere il passaggio 1 per ogni metodo di propagazione da modificare.