sys.sp_droppublication (Transact-SQL)

Dotyczy:SQL ServerAzure SQL Managed Instance

Wydaje publikację i powiązaną z nią agencję Snapshot Agent. Wszystkie subskrypcje muszą zostać przerwane przed wycofaniem publikacji. Artykuły w publikacji są automatycznie usuwane. Ta procedura składowana jest wykonywana w programie Publisher w bazie danych publikacji.

Transact-SQL konwencje składni

Składnia

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

Arguments

[ @publication = ] N'publikacja'

Nazwa publikacji miała zostać usunięta. @publication to sysname, bez domyślnego zapisu. Jeśli all jest to wskazane, wszystkie publikacje są usuwane z bazy publikacji, z wyjątkiem publikacji z subskrypcją.

[ @ignore_distributor = ] ignore_distributor

Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana.

[ @publisher = ] N'publisher'

Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana.

[ @from_backup = ] from_backup

Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Remarks

sp_droppublication jest wykorzystywany w replikacji snapshotów oraz replikacji transakcyjnej.

sp_droppublication rekurencyjnie usuwa wszystkie artykuły związane z publikacją, a następnie rezygnuje z samej publikacji. Publikacja nie może zostać usunięta, jeśli jest jedną lub kilkoma subskrypcjami. Aby uzyskać informacje o tym, jak usunąć subskrypcje, zobacz: Usuń subskrypcję Push i Usuń subskrypcję Pull.

Wykonanie sp_droppublication usunięcia publikacji nie usuwa opublikowanych obiektów z bazy danych publikacji ani odpowiadających im obiektów z bazy subskrypcyjnej. Używaj do DROP <object> ręcznego usuwania tych obiektów, jeśli zajdzie taka potrzeba.

Permissions

Tylko członkowie stałej roli serwera sysadmin mogą wykonywać polecenie 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