sp_droparticle (Transact-SQL)

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

Elimina un articolo da una pubblicazione snapshot o transazionale. Non è possibile rimuovere un articolo se esiste una o più sottoscrizioni. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.

Convenzioni di sintassi Transact-SQL

Sintassi

sp_droparticle
    [ @publication = ] N'publication'
    , [ @article = ] N'article'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @from_drop_publication = ] from_drop_publication ]
[ ; ]

Argomenti

[ @publication = ] N'publication'

Nome della pubblicazione contenente l'articolo da eliminare. @publication è sysname, senza impostazione predefinita.

[ @article = ] N'article'

Nome dell'articolo da eliminare. @article è sysname, senza impostazione predefinita.

[ @ignore_distributor = ] ignore_distributor

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

[ @force_invalidate_snapshot = ] force_invalidate_snapshot

Segnala che l'azione eseguita da questa stored procedure potrebbe invalidare uno snapshot esistente. @force_invalidate_snapshot è bit, con il valore predefinito 0.

  • 0 specifica che le modifiche apportate all'articolo non causano l'invalidità dello 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 causare l'invalidità dello snapshot e, se sono presenti sottoscrizioni esistenti che richiedono un nuovo snapshot, concede l'autorizzazione per contrassegnare lo snapshot esistente come obsoleto e un nuovo snapshot generato.

[ @publisher = ] N'publisher'

Specifica un server di pubblicazione non SQL Server. @publisher è sysname, con un valore predefinito .NULL

Questo parametro non deve essere usato quando si modificano le proprietà dell'articolo in un server di pubblicazione di SQL Server.

[ @from_drop_publication = ] from_drop_publication

Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

Valori del codice restituito

0 (esito positivo) o 1 (errore).

Osservazioni:

sp_droparticle viene usato nella replica snapshot e transazionale.

Per gli articoli filtrati orizzontalmente, sp_droparticle controlla la type colonna dell'articolo nella tabella sysarticles (Transact-SQL) per determinare se è necessario eliminare anche una vista o un filtro. Se una visualizzazione o un filtro è stato generato automaticamente, viene eliminato con l'articolo. Se è stato creato manualmente, non viene eliminato.

L'esecuzione sp_droparticle di per eliminare un articolo da una pubblicazione non rimuove l'oggetto dal database di pubblicazione o dall'oggetto corrispondente dal database di sottoscrizione. Utilizzare DROP <object> per rimuovere manualmente questi oggetti, se necessario.

Esempi

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksProductTran'; 
SET @article = N'Product'; 

-- Drop the transactional article.
USE [AdventureWorks2022]
EXEC sp_droparticle 
  @publication = @publication, 
  @article = @article,
  @force_invalidate_snapshot = 1;
GO

Autorizzazioni

Solo i membri del ruolo predefinito del server sysadmin o db_owner ruolo predefinito del database possono eseguire sp_droparticle.