Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Släpper en distributions-Publisher. Den här lagrade proceduren körs på distributören på valfri databas.
Transact-SQL syntaxkonventioner
Syntax
sys.sp_dropdistpublisher
[ @publisher = ] N'publisher'
[ , [ @no_checks = ] no_checks ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ ; ]
Arguments
[ @publisher = ] N'publisher'
The Publisher att släppa. @publisher är sysname, utan standard.
Note
Att använda en anpassad port för SQL Server-utgivaren introducerades i SQL Server 2019 (15.x). Om SQL Server-publicisten är konfigurerad med en anpassad port, då när en sådan publisher släpps på distributören, ange publisher-serverns namn istället för <Hostname>,<PortNumber>.
[ @no_checks = ] no_checks
Specificerar om sp_dropdistpublisher den kontrollerar att Publisher har avinstallerat servern som distributör.
@no_checks är bit, med standardvärdet .0
Om
0, verifierar replikering att den fjärranslutna Publisher har avinstallerat den lokala servern som distributör. Om Publisher är lokal verifierar replikering att det inte finns några publicerings- eller distributionsobjekt kvar på den lokala servern.Om
1, tas alla replikeringsobjekt kopplade till distributions-Publisher bort även om en fjärr-Publisher inte kan nås. Efter att ha gjort detta måste den fjärranslutna Publisher avinstallera replikering med sp_dropdistributor med@ignore_distributor = 1.
[ @ignore_distributor = ] ignore_distributor
Specificerar om distributionsobjekt lämnas hos distributören när Publisher tas bort. @ignore_distributor är bit, och kan vara ett av dessa värden:
-
1= distributionsobjekt som tillhör @publisher förblir vid distributören. -
0= distributionsobjekt för @publisher rensas upp hos distributören.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Remarks
sp_dropdistpublisher används i alla typer av replikering.
När en Oracle Publisher tas bort, om det inte går att ta bort Publisher, sp_dropdistpublisher får det ett fel och Distributor-objekten för Publisher tas bort.
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
Endast medlemmar i den fasta serverrollen sysadmin kan köra sp_dropdistpublisher.