Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Managed Instance
Verwijdert een distributie-Publisher. Deze opgeslagen procedure wordt uitgevoerd bij de Distributeur op elke database.
Transact-SQL syntaxis-conventies
Syntax
sys.sp_dropdistpublisher
[ @publisher = ] N'publisher'
[ , [ @no_checks = ] no_checks ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ ; ]
Arguments
[ @publisher = ] N'uitgever'
De Publisher om te droppen. @publisher is sysname, zonder standaardinstelling.
Note
Het gebruik van een aangepaste port voor de SQL Server-uitgever werd geïntroduceerd in SQL Server 2019 (15.x). Als de SQL Server-uitgever is geconfigureerd met een aangepaste port, dan levert bij het plaatsen van zo'n uitgever op de distributeur de naam van de uitgeverserver in plaats van <Hostname>,<PortNumber>.
[ @no_checks = ] no_checks
Specificeert of sp_dropdistpublisher controleert of de Publisher de server als Distributor heeft verwijderd.
@no_checks is bit, met als standaard .0
Als
0, verifieert replicatie dat de externe Publisher de lokale server als distributeur heeft verwijderd. Als de Publisher lokaal is, verifieert replicatie dat er geen publicatie- of distributieobjecten meer op de lokale server staan.Als
1, worden alle replicatieobjecten die aan de distributie-Publisher zijn gekoppeld verwijderd, zelfs als een externe Publisher niet bereikbaar is. Na dit te hebben gedaan, moet de externe Publisher replicatie verwijderen met sp_dropdistributor met@ignore_distributor = 1.
[ @ignore_distributor = ] ignore_distributor
Specificeert of distributieobjecten bij de Distributeur worden achtergelaten wanneer de Publisher wordt verwijderd. @ignore_distributor is bit, en kan een van deze waarden zijn:
-
1= distributieobjecten die behoren tot de @publisher blijven bij de Distributor. -
0= distributieobjecten voor de @publisher worden opgeschoond bij de distributeur.
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Remarks
sp_dropdistpublisher wordt gebruikt in alle typen replicatie.
Wanneer een Oracle Publisher wordt verwijderd, als het niet lukt om de Publisher te verwijderen, sp_dropdistpublisher krijg je een foutmelding en worden de Distributor-objecten voor de Publisher verwijderd.
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
Alleen leden van de vaste serverrol sysadmin kunnen worden uitgevoerd sp_dropdistpublisher.