Aggiunta ed eliminazione di articoli a e da pubblicazioni esistenti
Dopo la creazione di una pubblicazione, è possibile aggiungere ed eliminare articoli. Gli articoli possono essere aggiunti in qualsiasi momento, ma le azioni necessarie per eliminarli dipendono dal tipo di replica e dal momento in cui avviene l'eliminazione.
Aggiunta di articoli
L'aggiunta di un articolo comporta l'aggiunta dell'articolo alla pubblicazione, la creazione di un nuovo snapshot per la pubblicazione e la sincronizzazione della sottoscrizione per applicare lo schema e i dati per il nuovo articolo.
[!NOTA]
Se si aggiunge un articolo a una pubblicazione di tipo merge e un articolo esistente dipende dal nuovo articolo, è necessario specificare un ordine di elaborazione per entrambi gli articoli utilizzando il parametro @processing_order di sp_addmergearticle e sp_changemergearticle. Si consideri lo scenario seguente: viene pubblicata una tabella, ma non viene pubblicata una funzione a cui fa riferimento la tabella. Se non si pubblica la funzione, la tabella non può essere creata nel Sottoscrittore. Quando si aggiunge la funzione alla pubblicazione, specificare un valore 1 per il parametro @processing_order di sp_addmergearticle e un valore 2 per il parametro @processing_order di sp_changemergearticle, indicando il nome della tabella per il parametro @article. Questo ordine di elaborazione garantisce la creazione della funzione nel Sottoscrittore prima della tabella che dipende da essa. È possibile utilizzare numeri diversi per ogni articolo, purché il numero per la funzione sia inferiore a quello per la tabella.
Aggiungere uno o più articoli tramite uno dei metodi seguenti:
Microsoft SQL Server Management Studio: Procedura: Aggiunta ed eliminazione di articoli in una pubblicazione (SQL Server Management Studio)
Programmazione della replica in Transact-SQL: Procedura: Definizione di un articolo (programmazione Transact-SQL della replica)
Programmazione Replication Management Objects (RMO): Procedura: Definizione di un articolo (programmazione RMO)
Dopo avere aggiunto un articolo a una pubblicazione, è necessario creare un nuovo snapshot per la pubblicazione. Nel caso si tratti di una pubblicazione di tipo merge con filtri con parametri, sarà necessario creare tutte le partizioni. Tramite l'agente di distribuzione o l'agente di merge vengono quindi copiati lo schema e i dati per il nuovo articolo nel Sottoscrittore, senza reinizializzare l'intera pubblicazione.
Per creare un nuovo snapshot
SQL Server Management Studio: Procedura: Creazione e applicazione dello snapshot iniziale (SQL Server Management Studio)
Programmazione della replica in Transact-SQL: Procedura: Creazione dello snapshot iniziale (programmazione Transact-SQL della replica)
Programmazione RMO: Procedura: Creazione dello snapshot iniziale (programmazione RMO)
Per creare un nuovo snapshot per una pubblicazione di tipo merge con filtri con parametri
SQL Server Management Studio: Procedura: Creazione di uno snapshot per una pubblicazione di tipo merge con filtri con parametri (SQL Server Management Studio)
Programmazione della replica in Transact-SQL: Procedura: Creazione di uno snapshot per una pubblicazione di tipo merge con filtri con parametri (programmazione Transact-SQL della replica)
Dopo la creazione dello snapshot, sincronizzare la sottoscrizione per copiare lo schema e i dati per il nuovo articolo.
Per sincronizzare una sottoscrizione push
SQL Server Management Studio: Procedura: Sincronizzazione di una sottoscrizione push (SQL Server Management Studio)
Programmazione della replica in Transact-SQL: Procedura: Sincronizzazione di una sottoscrizione push (programmazione della replica)
Programmazione RMO: Procedura: Sincronizzazione di una sottoscrizione push (programmazione RMO)
Per sincronizzare una sottoscrizione pull
SQL Server Management Studio: Procedura: Sincronizzazione di una sottoscrizione pull (SQL Server Management Studio)
Programmazione della replica in Transact-SQL: Procedura: Sincronizzazione di una sottoscrizione pull (programmazione della replica)
Programmazione RMO: Procedura: Sincronizzazione di una sottoscrizione pull (programmazione RMO)
Eliminazione di articoli
Gli articoli possono essere eliminati da una pubblicazione in qualsiasi momento, ma è necessario tenere in considerazione i comportamenti seguenti:
L'eliminazione di un articolo da una pubblicazione non comporta la rimozione dell'oggetto dal database di pubblicazione o dell'oggetto corrispondente dal database di sottoscrizione. Utilizzare DROP <Object> per rimuovere questi oggetti, se necessario. Quando si elimina un articolo correlato ad altri articoli pubblicati tramite vincoli di chiave esterna, è consigliabile eliminare la tabella nel Sottoscrittore manualmente oppure eseguendo uno script su richiesta: specificare uno script che includa le istruzioni DROP <Object> appropriate. Per ulteriori informazioni, vedere Procedura: Esecuzione di script durante la sincronizzazione (programmazione Transact-SQL della replica).
Per pubblicazioni di tipo merge con un livello di compatibilità di 90RTM o superiore, gli articoli possono essere eliminati in qualsiasi momento, ma è necessario un nuovo snapshot. Inoltre:
Se un articolo è un articolo padre in una relazione tra record logici o filtri join, è necessario che prima vengano eliminate le relazioni e di conseguenza sarà necessario eseguire una reinizializzazione.
Se un articolo ha l'ultimo filtro con parametri in una pubblicazione, è necessario reinizializzare le sottoscrizioni.
Per pubblicazioni di tipo merge con un livello di compatibilità inferiore a 90RTM, gli articoli possono essere eliminati senza particolari considerazioni prima della sincronizzazione iniziale delle sottoscrizioni. Se un articolo viene eliminato dopo la sincronizzazione di una o più sottoscrizioni, è necessario che le sottoscrizioni vengano eliminate, ricreate e sincronizzate. Per ulteriori informazioni sul livello di compatibilità, vedere la sezione relativa al livello di compatibilità per le pubblicazioni di tipo merge nell'argomento Utilizzo di più versioni di SQL Server in una topologia di replica.
Per le pubblicazioni snapshot o transazionali, gli articoli possono essere eliminati senza particolari considerazioni prima della creazione delle sottoscrizioni. Se un articolo viene eliminato dopo la creazione di una o più sottoscrizioni, è necessario che le sottoscrizioni vengano eliminate, ricreate e sincronizzate. Per ulteriori informazioni sull'eliminazione di sottoscrizioni, vedere Sottoscrizione delle pubblicazioni e sp_dropsubscription (Transact-SQL). sp_dropsubscription consente di eliminare un singolo articolo dalla sottoscrizione anziché l'intera sottoscrizione.
L'eliminazione di un articolo da una pubblicazione implica l'eliminazione dell'articolo e la creazione di un nuovo snapshot per la pubblicazione. Se si elimina un articolo, lo snapshot corrente non è più valido ed è perciò necessario creare un nuovo snapshot.
Per eliminare un articolo da una pubblicazione
SQL Server Management Studio: Procedura: Aggiunta ed eliminazione di articoli in una pubblicazione (SQL Server Management Studio)
Programmazione della replica in Transact-SQL: Procedura: Eliminazione di un articolo (programmazione Transact-SQL della replica)
Programmazione RMO: Procedura: Eliminazione di un articolo (programmazione RMO)
Dopo avere eliminato un articolo da una pubblicazione, è necessario creare un nuovo snapshot per la pubblicazione. Nel caso si tratti di una pubblicazione di tipo merge con filtri con parametri, sarà necessario creare tutte le partizioni.
Per creare un nuovo snapshot
SQL Server Management Studio: Procedura: Creazione e applicazione dello snapshot iniziale (SQL Server Management Studio)
Programmazione della replica in Transact-SQL: Procedura: Creazione dello snapshot iniziale (programmazione Transact-SQL della replica)
Programmazione RMO: Procedura: Creazione dello snapshot iniziale (programmazione RMO)
Per creare un nuovo snapshot per una pubblicazione di tipo merge con filtri con parametri
SQL Server Management Studio: Procedura: Creazione di uno snapshot per una pubblicazione di tipo merge con filtri con parametri (SQL Server Management Studio)
Programmazione della replica in Transact-SQL: Procedura: Creazione di uno snapshot per una pubblicazione di tipo merge con filtri con parametri (programmazione Transact-SQL della replica)
Come evidenziato sopra, in alcuni casi l'eliminazione di un articolo richiede che le sottoscrizioni vengano eliminate, ricreate e quindi sincronizzate. Per ulteriori informazioni, vedere Sottoscrizione delle pubblicazioni e Sincronizzazione dei dati.