sp_changearticle (Transact-SQL)
Data aggiornamento: 14 aprile 2006
Modifica le proprietà di un articolo in una pubblicazione transazionale o snapshot. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.
Convenzioni della sintassi Transact-SQL
Sintassi
sp_changearticle [ [@publication= ] 'publication' ]
[ , [ @article= ] 'article' ]
[ , [ @property= ] 'property' ]
[ , [ @value= ] 'value' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ , [ @publisher = ] 'publisher' ]
Argomenti
- [ @publication=] 'publication'
Nome della pubblicazione contenente l'articolo. publication è di tipo sysname e il valore predefinito è NULL.
- [ @article=] 'article'
Nome dell'articolo di cui modificare la proprietà. article è di tipo sysname e il valore predefinito è NULL.
- [ @property=] 'property'
Proprietà dell'articolo da modificare. property è di tipo nvarchar(100).
[ @value=] 'value'
Nuovo valore della proprietà dell'articolo. value è di tipo nvarchar(255).Nella tabella seguente vengono descritte le proprietà degli articoli e i valori corrispondenti.
Proprietà
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Segnala che l'azione eseguita da questa stored procedure potrebbe invalidare uno snapshot esistente. force_invalidate_snapshot è di tipo bit e il valore predefinito è 0.0 specifica che le modifiche apportate all'articolo non invalideranno lo snapshot. Se la stored procedure rileva che la modifica richiede un nuovo snapshot, viene generato un errore e non viene apportata alcuna modifica.
1 specifica che le modifiche apportate all'articolo potrebbero invalidare lo snapshot e, se sono disponibili sottoscrizioni che richiedono un nuovo snapshot, consente di contrassegnare lo snapshot esistente come obsoleto e di generarne uno nuovo.
Per informazioni sulle proprietà che, se modificate, richiedono la generazione di un nuovo snapshot, vedere la sezione Osservazioni.
[ **@force_reinit_subscription=]**force_reinit_subscription
Segnala che l'azione eseguita dalla stored procedure potrebbe richiedere la reinizializzazione delle sottoscrizioni esistenti. force_reinit_subscription è di tipo bit e il valore predefinito è 0.0 specifica che le modifiche apportate all'articolo non causano la reinizializzazione della sottoscrizione. Se la stored procedure rileva che la modifica richiede la reinizializzazione delle sottoscrizioni esistenti, viene generato un errore e non viene apportata alcuna modifica.
1 indica che le modifiche all'articolo comportano la reinizializzazione delle sottoscrizioni esistenti e consente la reinizializzazione.
Per informazioni sulle proprietà che, se modificate, richiedono la generazione di un nuovo snapshot, vedere la sezione Osservazioni.
[ @publisher= ] 'publisher'
Specifica un server di pubblicazione non SQL Server. publisher è di tipo sysname e il valore predefinito è NULL.[!NOTA] Non utilizzare l'argomento publisher quando si modificano le proprietà dell'articolo in un server di pubblicazione SQL Server.
Osservazioni
La stored procedure sp_changearticle viene utilizzata in repliche snapshot e transazionali.
Quando un articolo appartiene a una pubblicazione che supporta la replica transazionale peer-to-peer, è possibile modificare solo le proprietà description, ins_cmd, upd_cmd e del_cmd.
La modifica di una delle proprietà seguenti richiede la generazione di un nuovo snapshot ed è necessario specificare il valore 1 per il parametro force_invalidate_snapshot:
- del_cmd
- dest_table
- destination_owner
- ins_cmd
- pre_creation_cmd
- schema_options
- upd_cmd
La modifica di una delle proprietà seguenti richiede la reinizializzazione delle sottoscrizioni esistenti ed è necessario specificare un valore 1 per il parametro force_reinit_subscription.
- del_cmd
- dest_table
- destination_owner
- filter
- ins_cmd
- status
- upd_cmd
All'interno di una pubblicazione esistente è possibile modificare un determinato articolo tramite sp_changearticle senza dover eliminare e ricreare l'intera pubblicazione.
[!NOTA] Quando si modifica il valore di schema_option, il sistema non esegue un aggiornamento bit per bit. Ciò significa che quando si imposta schema_option tramite sp_changearticle, è possibile che le impostazioni di bit esistenti vengano disattivate. Per mantenere le impostazioni esistenti, è necessario eseguire & (AND bit per bit) tra il valore da impostare e il valore corrente di schema_option, che è possibile determinare eseguendo sp_helparticle.
Opzioni di schema valide
Nella tabella seguente vengono descritti i valori consentiti di schema_option in base ai tipi di replica (indicati nella prima riga) e al tipo di articolo (indicato nella prima colonna).
Tipo di articolo | Tipo di replica | |
---|---|---|
|
Transazionale |
Snapshot |
logbased |
Tutte le opzioni |
Tutte le opzioni tranne 0x02 |
logbased manualfilter |
Tutte le opzioni |
Tutte le opzioni tranne 0x02 |
logbased manualview |
Tutte le opzioni |
Tutte le opzioni tranne 0x02 |
indexed view logbased |
Tutte le opzioni |
Tutte le opzioni tranne 0x02 |
indexed view logbased manualfilter |
Tutte le opzioni |
Tutte le opzioni tranne 0x02 |
indexed view logbased manualview |
Tutte le opzioni |
Tutte le opzioni tranne 0x02 |
indexed view logbase manualboth |
Tutte le opzioni |
Tutte le opzioni tranne 0x02 |
proc exec |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 e 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 e 0x80000000 |
serializable proc exec |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 e 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 e 0x80000000 |
proc schema only |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 e 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 e 0x80000000 |
view schema only |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 e 0x80000000 |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 e 0x80000000 |
func schema only |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 e 0x80000000 |
0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000 e 0x80000000 |
indexed view schema only |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 e 0x80000000 |
0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000 e 0x80000000 |
[!NOTA] Per pubblicazioni ad aggiornamento in coda, è necessario attivare il valore 0x80 di schema_option. I valori di schema_option supportati per le pubblicazioni non SQL Server sono i seguenti: 0x01, 0x02, 0x10, 0x40, 0x80, 0x1000 e 0x4000.
Autorizzazioni
Solo i membri del ruolo predefinito del server sysadmin o del ruolo predefinito del database db_owner possono eseguire sp_changearticle.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Esempio
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
Vedere anche
Riferimento
sp_addarticle (Transact-SQL)
sp_articlecolumn (Transact-SQL)
sp_droparticle (Transact-SQL)
sp_helparticle (Transact-SQL)
sp_helparticlecolumns (Transact-SQL)
Altre risorse
How to: View and Modify Article Properties (Replication Transact-SQL Programming)
Modifica delle proprietà di pubblicazioni e articoli
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
14 aprile 2006 |
|
5 dicembre 2005 |
|