sys.sp_droppublication (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL Managed Instance

Laat een publicatie en de bijbehorende Snapshot Agent vallen. Alle abonnementen moeten worden beëindigd voordat een publicatie wordt opgezegd. De artikelen in de publicatie worden automatisch verwijderd. Deze opgeslagen procedure wordt uitgevoerd bij Publisher in de publicatiedatabase.

Transact-SQL syntaxis-conventies

Syntax

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

Arguments

[ @publication = ] N'publicatie'

De naam van de publicatie zal worden weggelaten. @publication is sysname, zonder standaard. Indien all gespecificeerd, worden alle publicaties uit de publicatiedatabase verwijderd, behalve publicaties met abonnementen.

[ @ignore_distributor = ] ignore_distributor

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.

[ @publisher = ] N'uitgever'

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.

[ @from_backup = ] from_backup

Alleen ter informatie geïdentificeerd. Wordt niet ondersteund. Toekomstige compatibiliteit is niet gegarandeerd.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Remarks

sp_droppublication wordt gebruikt bij snapshotreplicatie en transactionele replicatie.

sp_droppublication recursief laten alle artikelen die aan een publicatie horen vallen en vervolgens de publicatie zelf weg. Een publicatie kan niet worden verwijderd als er één of meer abonnementen op zijn. Voor informatie over het verwijderen van abonnementen, zie Verwijder een Push-abonnement en Verwijder een Pull-abonnement.

Het uitvoeren sp_droppublication om een publicatie te laten vallen verwijdert gepubliceerde objecten niet uit de publicatiedatabase of de bijbehorende objecten uit de abonnementsdatabase. Gebruik DROP <object> deze objecten indien nodig handmatig te verwijderen.

Permissions

Alleen leden van de vaste serverrol sysadmin kunnen worden uitgevoerd 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