Condividi tramite


sp_droppublication (Transact-SQL)

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

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.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

sp_droppublication
    [ @publication = ] N'publication'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @publisher = ] N'publisher' ]
    [ , [ @from_backup = ] from_backup ]
[ ; ]

Argomenti

[ @publication = ] N'publication'

Nome della pubblicazione da eliminare. @publication è sysname, senza impostazione predefinita. Se all viene specificato, tutte le pubblicazioni vengono eliminate dal database di pubblicazione, ad eccezione delle pubblicazioni con sottoscrizioni.

[ @ignore_distributor = ] ignore_distributor

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

[ @publisher = ] N'publisher'

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

[ @from_backup = ] from_backup

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_droppublication viene usato nella replica snapshot e nella replica 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 se si tratta di una o più sottoscrizioni. Per informazioni su come rimuovere le sottoscrizioni, vedere Eliminare una sottoscrizione push ed eliminare una sottoscrizione pull.

L'esecuzione sp_droppublication di per eliminare una pubblicazione non rimuove gli oggetti pubblicati dal database di pubblicazione o dagli 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 possono eseguire sp_droppublication.

Esempi

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

-- Remove a transactional publication.
USE [AdventureWorks2022]
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