sys.sp_droppublication (Transact-SQL)

gäller för:SQL ServerAzure SQL Managed Instance

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

Transact-SQL syntaxkonventioner

Syntax

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

Arguments

[ @publication = ] N'publicering'

Namnet på publikationen ska tas bort. @publication är sysname, utan standard. Om all anges tas alla publikationer bort från publikationsdatabasen, förutom publikationer med prenumeration.

[ @ignore_distributor = ] ignore_distributor

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

[ @publisher = ] N'publisher'

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

[ @from_backup = ] from_backup

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

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Remarks

sp_droppublication används vid snapshot-replikering och transaktionell replikation.

sp_droppublication rekursivt tar bort alla artiklar 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_droppublication 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.

Permissions

Endast medlemmar i den fasta serverrollen sysadmin kan köra sp_droppublication.

Examples

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