sys.sp_dropdistributor (Transact-SQL)

Platí na:SQL ServerAzureSQL Managed Instance

Odinstaluje distributor. Tato uložená procedura se vykonává u distributora v jakékoli databázi kromě distribuční databáze.

Transact-SQL konvence syntaxe

Syntax

sys.sp_dropdistributor
    [ [ @no_checks = ] no_checks ]
    [ , [ @ignore_distributor = ] ignore_distributor ]
[ ; ]

Arguments

[ @no_checks = ] no_checks

Označuje, zda je třeba před vypuštěním distributora zkontrolovat závislé objekty. @no_checks je bit, s výchozím nastavením 0.

  • Pokud 0, sp_dropdistributor kontroluje, zda byly odstraněny všechny publikační a distribuční objekty, kromě distributora.

  • Pokud 1, sp_dropdistributor vyřadí všechny publikační a distribuční objekty před odinstalací distributora.

[ @ignore_distributor = ] ignore_distributor

Označuje, zda je tato uložená procedura vykonána bez připojení k distributorovi. @ignore_distributor je bit, s výchozím nastavením 0.

  • Pokud 0, sp_dropdistributor připojí se k distributoru a odstraní všechny replikační objekty. Pokud sp_dropdistributor se nemůže připojit k distributoru, uložená procedura selže.

  • Pokud 1, není navázáno spojení s distributorem a replikační objekty nejsou odstraněny. Tato možnost se používá, pokud je distributor odinstalován nebo je trvale offline. Objekty tohoto Publisher u distributora nejsou odstraněny, dokud nebude Distributor v budoucnu znovu nainstalován.

Hodnoty návratového kódu

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

Remarks

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

Pokud na serveru existují jiné objekty Publisher nebo distribuce, sp_dropdistributor selže, pokud není @no_checks nastaveno na 1.

Tato uložená procedura musí být vykonána po ukončení distribuční databáze vykonáním sp_dropdistributiondb.

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_dropdistributor .