sys.sp_dropdistributiondb (Transact-SQL)

Platí na:SQL ServerAzureSQL Managed Instance

Zruší distribuční databázi. Pokud je nepoužívá jiná databáze, zruší fyzické soubory používané databází. Tato uložená procedura se provádí u distributora v libovolné databázi.

Transact-SQL konvence syntaxe

Syntax

sys.sp_dropdistributiondb
    [ @database = ] N'database'
    [ , [ @former_ag_secondary = ] former_ag_secondary ]
[ ; ]

Arguments

[ @database = ] N'database'

Databáze k vypuštění. @database je sysname, bez výchozího nastavení.

[ @former_ag_secondary = ] former_ag_secondary

Specifikuje, zda byl tento uzel dříve součástí skupiny dostupnosti distribuční databáze. @former_ag_secondary je int, s výchozím nastavením 0.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Remarks

sp_dropdistributiondb se používá ve všech typech replikace.

Tento uložený postup musí být proveden před ukončením distributoru vykonáním sp_dropdistributor.

sp_dropdistributiondb také odstraní práci Queue Reader Agenta pro distribuční databázi, pokud existuje.

Pro deaktivaci distribuce musí být distribuční databáze online. Pokud existuje snímek databáze pro distribuční databázi, musí být před deaktivací distribuce odstraněn. Snímek databáze je offline kopie databáze pouze pro čtení a nesouvisí s replikačním snímkem. Pro více informací viz Databázové snímky (SQL Server).

Examples

-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables  
-- on the command line and in SQL Server Management Studio, see the 
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".

-- Disable publishing and distribution.
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB as sysname;
SET @distributionDB = N'distribution';
SET @publisher = $(DistPubServer);
SET @publicationDB = N'AdventureWorks2022';

-- Disable the publication database.
USE [AdventureWorks2022]
EXEC sp_removedbreplication @publicationDB;

-- Remove the registration of the local Publisher at the Distributor.
USE master
EXEC sp_dropdistpublisher @publisher;

-- Delete the distribution database.
EXEC sp_dropdistributiondb @distributionDB;

-- Remove the local server as a Distributor.
EXEC sp_dropdistributor;
GO

Permissions

Spustit můžou pouze členové pevné role serveru sp_dropdistributiondb .