sys.sp_dropmergepublication (Transact-SQL)

Gäller för:SQL Server

Släpper en sammanslagningspublikation och dess tillhörande Snapshot Agent. Alla prenumerationer måste avslutas innan en sammanslagningspublikation kan läggas ner. Artiklarna i publikationen tas bort automatiskt. Den här lagrade proceduren körs i Publisher i publikationsdatabasen.

Transact-SQL syntaxkonventioner

Syntax

sys.sp_dropmergepublication
    [ @publication = ] N'publication'
    [ , [ @ignore_distributor = ] ignore_distributor ]
    [ , [ @reserved = ] reserved ]
    [ , [ @ignore_merge_metadata = ] ignore_merge_metadata ]
[ ; ]

Arguments

[ @publication = ] N'publicering'

Namnet på publikationen som ska nämnas. @publication är sysname, utan standard. Om all, tas alla befintliga sammanslagningspublikationer bort liksom Snapshot Agent-jobbet som är kopplat till dem. Om du anger ett särskilt värde för @publication tas endast den publikationen och dess tillhörande Snapshot Agent jobb bort.

[ @ignore_distributor = ] ignore_distributor

Brukade släppa en publikation utan att göra städuppgifter hos distributören. @ignore_distributor är bit, med en standard på 0. Denna parameter används också vid återinstallation av Distributor.

[ @reserved = ] reserverad

Reserverad för framtida användning. @reserved är bit, med en standard på 0.

[ @ignore_merge_metadata = ] ignore_merge_metadata

Identifieras endast i informationssyfte. Stöds ej. Framtida kompatibilitet garanteras inte.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Remarks

sp_dropmergepublication används vid sammanslagningsreplikation.

sp_dropmergepublication Tar rekursivt bort alla artiklar som är kopplade till en publikation och sedan själva publikationen. En publikation kan inte tas bort om det är en eller flera prenumerationer på den. För information om hur man tar bort prenumerationer, se Ta bort en pushprenumeration och ta bort en pull-prenumeration.

Att köra sp_dropmergepublication för att släppa en publikation tar inte bort publicerade objekt från publiceringsdatabasen eller motsvarande objekt från prenumerationsdatabasen. Använd DROP <object> det för att ta bort dessa objekt manuellt om det behövs.

Exempel

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

-- Remove the merge publication.
USE [AdventureWorks]
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

Permissions

Endast medlemmar av sysadmin-rollen med fast server eller db_owner fast databasroll kan köra sp_dropmergepublication.