sp_droppublication (Transact-SQL)

Elimina una pubblicazione e l'agente snapshot associato. Prima di eliminare una pubblicazione, è necessario eliminare tutte le sottoscrizioni. Gli articoli della pubblicazione vengono eliminati automaticamente. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_droppublication [ @publication= ] 'publication' 
    [ , [ @ignore_distributor = ] ignore_distributor ]

Argomenti

  • [ @publication= ] 'publication'
    Nome della pubblicazione da eliminare. publication è di tipo sysname e non prevede alcun valore predefinito. Se viene specificato all, dal database di pubblicazione vengono eliminate tutte le pubblicazioni, ad eccezione di quelle che includono sottoscrizioni.
  • [ @ignore_distributor = ] ignore_distributor
    Solo per uso interno.

Osservazioni

sp_droppublication viene utilizzata per la replica snapshot e transazionale.

sp_droppublication elimina in modo ricorsivo tutti gli articoli associati a una pubblicazione e quindi elimina la pubblicazione stessa. Non è possibile rimuovere una pubblicazione per cui esistono una o più sottoscrizioni. Per informazioni sulla rimozione di sottoscrizioni, vedere How to: Delete a Push Subscription (Replication Transact-SQL Programming) e How to: Delete a Pull Subscription (Replication Transact-SQL Programming).

L'esecuzione di sp_droppublication per l'eliminazione di una pubblicazione non comporta la rimozione degli oggetti pubblicati dal database di pubblicazione né degli oggetti corrispondenti dal database di sottoscrizione. Utilizzare DROP <object> per rimuovere questi oggetti manualmente, se necessario.

Autorizzazioni

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

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Esempi

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksProductTran'; 

-- Remove a transactional publication.
USE [AdventureWorks]
EXEC sp_droppublication @publication = @publication;

-- Remove replication objects from the database.
USE [master]
EXEC sp_replicationdboption 
  @dbname = @publicationDB, 
  @optname = N'publish', 
  @value = N'false';
GO

Vedere anche

Riferimento

sp_addpublication (Transact-SQL)
sp_changepublication (Transact-SQL)
sp_helppublication (Transact-SQL)
Stored procedure per la replica (Transact-SQL)

Altre risorse

How to: Delete a Publication (Replication Transact-SQL Programming)

Guida in linea e informazioni

Assistenza su SQL Server 2005