Condividi tramite


sp_dropmergepublication (Transact-SQL)

Elimina una pubblicazione di tipo merge e l'agente snapshot associato. Prima di eliminare una pubblicazione di tipo merge, è 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_dropmergepublication [ @publication= ] 'publication' 
    [ , [ @ignore_distributor = ] ignore_distributor ] 
    [ , [ @reserved = ] reserved ]
    [ , [ @ignore_merge_metadata = ] ignore_merge_metadata ]

Argomenti

  • [ @publication=] 'publication'
    Nome della pubblicazione da eliminare. publication è di tipo sysname e non prevede alcun valore predefinito. Se è uguale a all, tutte le pubblicazioni di tipo merge vengono rimosse insieme al processo dell'agente snapshot corrispondente. Se si specifica un valore particolare per publication, vengono eliminati solo tale pubblicazione e il processo dell'agente snapshot corrispondente.

  • [ @ignore_distributor =] ignore_distributor
    Utilizzato per eliminare una pubblicazione senza eseguire attività di pulizia nel server di distribuzione. ignore_distributor è di tipo bit e il valore predefinito è 0. Questo parametro viene utilizzato anche quando si reinstalla il server di distribuzione.

  • [ @reserved=] reserved
    Riservato per utilizzi futuri. reserved è di tipo bit e il valore predefinito è 0.

  • [ @ignore_merge_metadata= ] ignore_merge_metadata
    Solo per uso interno.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

La stored procedure sp_dropmergepublication viene utilizzata nella replica di tipo merge.

sp_dropmergepublication 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 Procedura: Eliminazione di una sottoscrizione push (programmazione Transact-SQL della replica) e Procedura: Eliminazione di una sottoscrizione pull (programmazione Transact-SQL della replica).

Se si esegue sp_dropmergepublication per eliminare una pubblicazione, non vengono rimossi gli oggetti pubblicati dal database di pubblicazione né gli oggetti corrispondenti dal database di sottoscrizione. Utilizzare DROP <object> per rimuovere questi oggetti manualmente, se necessario.

Esempio

DECLARE @publication AS sysname
DECLARE @publicationDB    AS sysname
SET @publication = N'AdvWorksSalesOrdersMerge' 
SET @publicationDB = N'AdventureWorks2008R2'

-- Remove the merge publication.
USE [AdventureWorks2008R2]
EXEC sp_dropmergepublication @publication = @publication;

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

Autorizzazioni

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