Share via


sp_repldropcolumn (Transact-SQL)

Elimina una colonna da un articolo di tabella esistente pubblicato. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.

Nota importanteImportante

Questa stored procedure è deprecata e viene supportata solo per motivi di compatibilità con le versioni precedenti. È consigliabile utilizzarla solo con i server di pubblicazione di Microsoft SQL Server 2000 e i Sottoscrittori di ripubblicazione di SQL Server 2000. Questa stored procedure non deve essere utilizzata nelle colonne con tipi di dati introdotti in SQL Server 2005 o SQL Server 2008.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

sp_repldropcolumn [ @source_object = ] 'source_object', [ @column = ] 'column' 
    [ , [ @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 contenente la colonna da eliminare. source_object è di tipo nvarchar(258) e non prevede alcun valore predefinito.

  • [ @column = ] 'column'
    Nome della colonna nella tabella da eliminare. column è di tipo sysname e non prevede alcun valore predefinito.

  • [ @from\_agent = ] from_agent
    Specifica se la stored procedure viene eseguita da un agente di replica. from_agent è di tipo int e il valore predefinito è 0. Il valore 1 viene utilizzato quando la stored procedure viene eseguita da un agente di replica. In tutti gli altri casi è consigliabile utilizzare 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 è di tipo nvarchar(4000) e il 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 una modifica dello schema in un articolo di tabella replicato utilizzando sp_repldropcolumn e consente di effettuare una delle operazioni seguenti:

    • Se le stored procedure personalizzate vengono rigenerate automaticamente, è possibile utilizzare schema_change_script per eliminare le 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 rigenerarle 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 è di tipo bit e il valore predefinito è 1.

    Il valore 1 indica che le modifiche apportate all'articolo possono invalidare lo snapshot. In tal caso, il valore 1 consente l'esecuzione del nuovo snapshot.

    0 specifica che le modifiche apportate all'articolo non invalidano lo snapshot.

  • [ @force\_reinit\_subscription = ] force_reinit_subscription
    Abilita o disabilita la funzionalità che consente di reinizializzare la sottoscrizione. force_reinit_subscription è di tipo bit e il valore predefinito è 0.

    Il valore 0 indica 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. In tal caso, il valore 1 consente la reinizializzazione della sottoscrizione.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

La stored procedure sp_repldropcolumn è deprecata. Per rimuovere una colonna da un articolo di tabella replicato è consigliabile eseguire i comandi DDL (Data Definition Language) sulla tabella pubblicata. Se la replica DDL è attivata, i comandi DDL vengono replicati automaticamente durante la replica. Per ulteriori informazioni, vedere Modifiche allo schema nei database di pubblicazione.

sp_repladdcolumn è ancora necessaria durante la propagazione delle modifiche DDL dai Sottoscrittori di ripubblicazione in esecuzione in una versione precedente dei Sottoscrittori di Microsoft SQL Server 2000.

sp_repldropcolumn viene utilizzata in tutti i tipi di replica.

Quando si utilizza sp_repldropcolumn e si apporta una modifica allo schema di un articolo che appartiene a una pubblicazione in cui viene utilizzato un pacchetto Data Transformation Services (DTS), tale modifica non viene propagata al Sottoscrittore e le procedure personalizzate per INSERT/UPDATE/DELETE non vengono rigenerate nei Sottoscrittori. È quindi necessario rigenerare il pacchetto DTS manualmente e apportare la modifica di schema corrispondente nei Sottoscrittori. Se non si esegue l'aggiornamento dello schema, l'agente di distribuzione potrebbe non applicare le modifiche successive. Prima di modificare uno schema, verificare che non esista alcuna transazione in sospeso da recapitare.

Nota importanteImportante

Dopo l'esecuzione di sp_repldropcolumn è consigliabile eseguire un backup del database di pubblicazione. Se non si esegue questa operazione, dopo il ripristino del database di pubblicazione può verificarsi un errore del processo di merge.

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin nel server di pubblicazione o i membri del ruolo predefinito del database db_owner o db_ddladmin nel database di pubblicazione possono eseguire sp_repldropcolumn.

Vedere anche

Riferimento

Stored procedure di sistema (Transact-SQL)

Concetti

Funzionalità deprecate nella replica di SQL Server