적용 대상: SQL Server
Azure SQL Managed Instance
배포 게시자를 삭제합니다. 이 저장 프로시저는 모든 데이터베이스의 배포자에서 실행됩니다.
구문
sp_dropdistpublisher
[ @publisher = ] N'publisher'
[ , [ @no_checks = ] no_checks ]
[ , [ @ignore_distributor = ] ignore_distributor ]
[ ; ]
인수
[ @publisher = ] N'publisher'
삭제할 게시자입니다. @publisher 기본값이 없는 sysname입니다.
참고 항목
SQL Server 게시자에 대한 사용자 지정 포트 사용은 SQL Server 2019(15.x)에서 도입되었습니다. SQL Server 게시자가 사용자 지정 포트로 구성된 경우 해당 게시자를 배포자에 삭제할 때 대신 게시자 서버 이름을 <Hostname>,<PortNumber>제공합니다.
[ @no_checks = ] no_checks
게시자가 서버를 배포자로 제거했는지 여부를 sp_dropdistpublisher 지정합니다. @no_checks 비트이며 기본값은 .입니다0.
복제
0시 원격 게시자가 로컬 서버를 배포자로 제거했는지 확인합니다. 게시자가 로컬인 경우 복제는 로컬 서버에 남아 있는 게시 또는 배포 개체가 없는지 확인합니다.이 경우
1원격 게시자에 연결할 수 없는 경우에도 배포 게시자에 연결된 모든 복제 개체가 삭제됩니다. 이 작업을 수행한 후 원격 게시자는 sp_dropdistributor@ignore_distributor = 1사용하여 복제를 제거해야 합니다.
[ @ignore_distributor = ] ignore_distributor
게시자가 제거될 때 배포자에 배포 개체를 남겨둘지 여부를 지정합니다. @ignore_distributor 비트이며 다음 값 중 하나일 수 있습니다.
1= @publisher 속하는 배포 개체는 배포자에 남아 있습니다.0= @publisher 대한 배포 개체는 배포자에서 정리됩니다.
반환 코드 값
0(성공) 또는 1(실패).
설명
sp_dropdistpublisher 는 모든 유형의 복제에서 사용됩니다.
Oracle 게시자를 삭제할 때 게시 sp_dropdistpublisher 자를 삭제할 수 없는 경우 오류가 반환되고 게시자의 배포자 개체가 제거됩니다.
예제
-- 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
사용 권한
sysadmin 고정 서버 역할의 멤버만 실행할 sp_dropdistpublisher수 있습니다.