sp_repladdcolumn (Transact-SQL)

Si applica a:SQL Server Istanza gestita di SQL di Azure

Aggiunge una colonna a un articolo di tabella esistente che è stato pubblicato. È possibile aggiungere la nuova colonna in tutti i server di pubblicazione che pubblicano la tabella specificata oppure solo in una pubblicazione specifica della tabella. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.

Importante

Questa stored procedure è deprecata e viene supportata per motivi di compatibilità con le versioni precedenti. Deve essere usato solo con i server di pubblicazione di Microsoft SQL Server 2000 (8.x) e i Sottoscrittori di ripubblicazione di SQL Server 2000 (8.x). Questa procedura non deve essere utilizzata nelle colonne con tipi di dati introdotti in SQL Server 2005 (9.x) o versione successiva.

Convenzioni di sintassi Transact-SQL

Sintassi

  
sp_repladdcolumn [ @source_object = ] 'source_object', [ @column = ] 'column' ]  
    [ , [ @typetext = ] 'typetext' ]  
    [ , [ @publication_to_add = ] 'publication_to_add' ]  
    [ , [ @from_agent = ] from_agent ]  
    [ , [ @schema_change_script = ] 'schema_change_script' ]  
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]  
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]  

Argomenti

[ @source_object =] 'source_object'
Nome dell'articolo di tabella che contiene la nuova colonna da aggiungere. source_object è nvarchar(358), senza impostazione predefinita.

[ @column =] 'column'
Nome della colonna della tabella da aggiungere per la replica. column è sysname, senza impostazione predefinita.

[ @typetext =] 'typetext'
Definizione della colonna da aggiungere. typetext è nvarchar(3000), senza impostazione predefinita. Ad esempio, se la colonna order_filled viene aggiunta e si tratta di un singolo campo di caratteri, non NULL e ha un valore predefinito N, order_filled sarà il parametro di colonna, mentre la definizione della colonna char(1) NOT NULL CONSTRAINT constraint_name DEFAULT 'N' sarà il valore del parametro typetext.

[ @publication_to_add =] 'publication_to_add'
Nome della pubblicazione cui si desidera aggiungere la nuova colonna. publication_to_add è nvarchar(4000), con valore predefinito ALL. Se ALL, tutte le pubblicazioni contenenti questa tabella sono interessate. Se si specifica publication_to_add , viene aggiunta solo la nuova colonna della pubblicazione.

[ @from_agent = ] from_agent
Specifica se la stored procedure viene eseguita da un agente di replica. from_agent è int, con un valore predefinito pari a 0, in cui viene usato un valore pari a 1 quando questa stored procedure viene eseguita da un agente di replica e in ogni altro caso deve essere usato il valore predefinito 0.

[ @schema_change_script =] 'schema_change_script'
Specifica il nome e il percorso di uno script di SQL Server utilizzato per modificare le stored procedure personalizzate generate dal sistema. schema_change_script è nvarchar(4000), con valore predefinito NULL. La replica consente di sostituire una o più stored procedure predefinite utilizzate per la replica transazionale con stored procedure personalizzate definite dall'utente. schema_change_script viene eseguito dopo l'esecuzione di una modifica dello schema in un articolo della tabella replicata tramite sp_repladdcolumn e può essere usato per eseguire una delle operazioni seguenti:

  • Se le stored procedure personalizzate vengono rigenerate automaticamente, è possibile utilizzare schema_change_script per eliminare queste stored procedure personalizzate e sostituirle con stored procedure personalizzate definite dall'utente che supportano il nuovo schema.

  • Se le stored procedure personalizzate non vengono rigenerate automaticamente, è possibile utilizzare schema_change_scriptper rigenerare queste stored procedure o per creare stored procedure personalizzate definite dall'utente.

[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Abilita o disabilita la funzionalità che consente di invalidare uno snapshot. force_invalidate_snapshot è un po', con un valore predefinito pari a 1.

1 specifica che le modifiche apportate all'articolo potrebbero causare l'invalidità dello snapshot e, in caso affermativo, il valore 1 concede l'autorizzazione per il nuovo snapshot.

0 specifica che le modifiche apportate all'articolo non causano l'invalidità dello snapshot.

[ @force_reinit_subscription = ] force_reinit_subscription
Abilita o disabilita la funzionalità che consente di reinizializzare la sottoscrizione. force_reinit_subscription è un po' con un valore predefinito pari a 0.

0 specifica che le modifiche apportate all'articolo non causano la reinizializzazione della sottoscrizione.

1 specifica che le modifiche apportate all'articolo possono causare la reinizializzazione della sottoscrizione e, in tal caso, un valore pari a 1 concede l'autorizzazione per la reinizializzazione della sottoscrizione.

Valori del codice restituito

0 (operazione completata) o 1 (operazione non riuscita)

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin e del ruolo predefinito del database db_owner possono eseguire sp_repladdcolumn.

Vedi anche

Funzionalità deprecate nella replica di SQL Server
Stored procedure di sistema (Transact-SQL)