Procedura: Visualizzazione e modifica delle proprietà degli articoli (programmazione Transact-SQL della replica)
È possibile modificare gli articoli e restituire a livello di programmazione le relative proprietà tramite le stored procedure di replica. Le stored procedure utilizzate dipenderanno dal tipo di pubblicazione a cui appartiene l'articolo.
Per visualizzare le proprietà di un articolo appartenente a una pubblicazione snapshot o transazionale
Eseguire sp_helparticle, specificando il nome della pubblicazione per il parametro @publication e il nome dell'articolo per il parametro @article. Se @article viene omesso, verranno restituite informazioni su tutti gli articoli della pubblicazione.
Eseguire sp_helparticlecolumns per gli articoli di tabella per elencare tutte le colonne disponibili nella tabella di base.
Per modificare le proprietà di un articolo appartenente a una pubblicazione snapshot o transazionale
Eseguire sp_changearticle, specificando la proprietà dell'articolo da modificare nel parametro @property e il nuovo valore di questa proprietà nel parametro @value.
[!NOTA]
Se la modifica richiede la generazione di un nuovo snapshot, è necessario specificare anche il valore 1 per @force_invalidate_snapshot e se richiede la reinizializzazione dei Sottoscrittori, è necessario specificare anche il valore 1 per @force_reinit_subscription. Per ulteriori informazioni sulle proprietà che, in caso di modifica, richiedono un nuovo snapshot o una reinizializzazione, vedere Modifica delle proprietà di pubblicazioni e articoli.
Per visualizzare le proprietà di un articolo appartenente a una pubblicazione di tipo merge
Eseguire sp_helpmergearticle, specificando il nome della pubblicazione per il parametro @publication e il nome dell'articolo per il parametro @article. Se questi parametri vengono omessi, verranno restituite informazioni su tutti gli articoli della pubblicazione o del server di pubblicazione.
Eseguire sp_helpmergearticlecolumn per gli articoli di tabella per elencare tutte le colonne disponibili nella tabella di base.
Per modificare le proprietà di un articolo appartenente a una pubblicazione di tipo merge
Eseguire sp_changemergearticle, specificando la proprietà dell'articolo da modificare nel parametro @property e il nuovo valore di questa proprietà nel parametro @value.
[!NOTA]
Se la modifica richiede la generazione di un nuovo snapshot, è necessario specificare anche il valore 1 per @force_invalidate_snapshot e se richiede la reinizializzazione dei Sottoscrittori, è necessario specificare anche il valore 1 per @force_reinit_subscription. Per ulteriori informazioni sulle proprietà che, in caso di modifica, richiedono un nuovo snapshot o una reinizializzazione, vedere Modifica delle proprietà di pubblicazioni e articoli.
Esempio
In questo esempio di replica transazionale vengono restituite le proprietà dell'articolo pubblicato.
DECLARE @publication AS sysname;
SET @publication = N'AdvWorksProductTran';
USE [AdventureWorks]
EXEC sp_helparticle
@publication = @publication;
GO
In questo esempio di replica transazionale vengono modificate le opzioni dello schema per l'articolo pubblicato.
DECLARE @publication AS sysname;
DECLARE @article AS sysname;
DECLARE @option AS int;
SET @publication = N'AdvWorksProductTran';
SET @article = N'Product';
SET @option = (SELECT CAST(0x0000000002030073 AS int));
-- Change the schema options to replicate schema with XML.
USE [AdventureWorks]
EXEC sp_changearticle
@publication = @publication,
@article = @article,
@property = N'schema_option',
@value = @option,
@force_invalidate_snapshot = 1;
GO
In questo esempio di replica di tipo merge vengono restituite le proprietà dell'articolo pubblicato.
DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
USE [AdventureWorks]
EXEC sp_helpmergearticle
@publication = @publication;
GO
In questo esempio di replica di tipo merge vengono modificate le impostazioni di rilevamento dei conflitti per un articolo pubblicato.
DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @article = N'SalesOrderHeader';
-- Enable column-level conflict tracking.
-- Changing this property requires that existing subscriptions
-- be reinitialized and that a new snapshot be generated.
USE [AdventureWorks]
EXEC sp_changemergearticle
@publication = @publication,
@article = @article,
@property = N'column_tracking',
@value = N'true',
@force_invalidate_snapshot = 1,
@force_reinit_subscription = 1;
GO
Vedere anche