Condividi tramite


sp_repladdcolumn (Transact-SQL)

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

Aggiunge una colonna a un articolo della tabella pubblicata esistente. È 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 ed è supportata per la compatibilità con le versioni precedenti. Deve essere usato solo con i server di pubblicazione di SQL Server 2000 (8.x) e con i Sottoscrittori di ripubblicazione di SQL Server 2000 (8.x). Questa procedura non deve essere usata nelle colonne con tipi di dati introdotti in SQL Server 2005 (9.x) e versioni successive.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

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

Argomenti

[ @source_object = ] N'source_object'

Nome dell'articolo della tabella contenente la nuova colonna da aggiungere. @source_object è nvarchar(358), senza impostazione predefinita.

[ @column = ] N'column'

Nome della colonna nella tabella da aggiungere per la replica. @column è sysname, senza impostazione predefinita.

[ @typetext = ] N'typetext'

Definizione della colonna da aggiungere. @typetext è nvarchar(3000), senza impostazione predefinita. Ad esempio, se la colonna order_filled viene aggiunta ed è un singolo campo di caratteri, non NULLe 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 = ] N'publication_to_add'

Nome della pubblicazione a cui viene aggiunta la nuova colonna. @publication_to_add è nvarchar(4000), con il 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 il valore predefinito 0. Un valore di 1 viene utilizzato quando questa stored procedure viene eseguita da un agente di replica e in ogni altro caso deve essere utilizzato il valore predefinito di 0 .

[ @schema_change_script = ] N'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 un 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 che viene apportata una modifica dello schema a un articolo della tabella replicata usando sp_repladdcolumne può essere usato come segue:

  • Se le stored procedure personalizzate vengono rigenerate automaticamente, è possibile usare @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_script per 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 è bit, con il valore predefinito 1.

  • 1 specifica che le modifiche apportate all'articolo potrebbero causare l'invalidità dello snapshot e, in tal caso, un valore di 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 possibilità di reinizializzare la sottoscrizione. @force_reinit_subscription è bit, con un valore predefinito .0

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

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

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Autorizzazioni

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