sp_adddistributor(Transact-SQL)
적용 대상: SQL Server Azure SQL Managed Instance
sys.servers 테이블에 항목을 만들고(없는 경우) 서버 항목을 배포자로 표시하고 속성 정보를 저장합니다. 이 저장 프로시저는 데이터베이스의 배포자 master
에서 실행되어 서버를 배포자로 등록하고 표시합니다. 원격 배포자의 경우 데이터베이스에서 게시자에서 master
실행되어 원격 배포자를 등록합니다.
구문
sp_adddistributor
[ @distributor = ] N'distributor'
[ , [ @heartbeat_interval = ] heartbeat_interval ]
[ , [ @password = ] N'password' ]
[ , [ @from_scripting = ] from_scripting ]
[ ; ]
인수
[ @distributor = ] N'distributor'
배포 서버 이름입니다. @distributor 기본값이 없는 sysname입니다. 이 매개 변수는 원격 배포자를 설정하는 경우에만 사용됩니다. 테이블의 배포자 속성에 msdb..MSdistributor
대한 항목을 추가합니다.
참고 항목
서버 이름은 기본 인스턴스 또는 <Hostname>\<InstanceName>,<PortNumber>
명명된 <Hostname>,<PortNumber>
인스턴스에 대해 지정할 수 있습니다. SQL Server가 사용자 지정 포트를 사용하여 Linux 또는 Windows에 배포되고 브라우저 서비스를 사용할 수 없는 경우 연결의 포트 번호를 지정합니다. 원격 배포자에 대한 사용자 지정 포트 번호의 사용은 SQL Server 2019(15.x) 이상 버전에 적용됩니다.
[ @heartbeat_interval = ] heartbeat_interval
진행률 메시지를 로깅하지 않고 에이전트가 갈 수 있는 최대 시간(분)입니다. @heartbeat_interval int이며 기본값은 분입니다10
. 실행 중인 복제 에이전트의 상태를 확인하기 위해 이 간격으로 실행되는 SQL Server 에이전트 작업이 만들어집니다.
[ @password = ] N'password'
distributor_admin 로그인의 암호입니다. @password sysname이며 기본값은 .입니다NULL
. 암호가 NULL
빈 문자열 인 경우 @password 임의 값으로 다시 설정됩니다. 첫 번째 원격 배포자를 추가할 때 암호를 구성해야 합니다. distributor_admin 로그인 및 @password 로컬 연결을 포함하여 배포자 RPC 연결에 사용되는 연결된 서버 항목에 대해 저장됩니다. 배포자의 로컬이면 distributor_admin 암호가 새 값으로 설정됩니다. 원격 배포자가 있는 게시자의 경우 게시자와 배포자 모두에서 실행할 sp_adddistributor
때 @password 동일한 값을 지정해야 합니다. sp_changedistributor_password 배포자 암호를 변경하는 데 사용할 수 있습니다.
Important
가능한 경우 런타임 시 사용자에게 보안 자격 증명을 입력하라는 메시지가 표시됩니다. 스크립트 파일에 자격 증명을 저장하는 경우에는 무단으로 액세스하지 못하도록 파일에 보안을 설정해야 합니다.
[ @from_scripting = ] from_scripting
@from_scripting 비트이며 기본값은 .입니다0
. 정보를 제공하기 위해서만 확인됩니다. 지원 안 됨. 향후 호환성은 보장되지 않습니다.
반환 코드 값
0
(성공) 또는 1
(실패).
설명
sp_adddistributor
는 스냅샷 복제, 트랜잭션 복제 및 병합 복제에 사용됩니다.
예제
-- 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".
-- Install the Distributor and the distribution database.
DECLARE @distributor AS sysname;
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
DECLARE @directory AS nvarchar(500);
DECLARE @publicationDB AS sysname;
-- Specify the Distributor name.
SET @distributor = $(DistPubServer);
-- Specify the distribution database.
SET @distributionDB = N'distribution';
-- Specify the Publisher name.
SET @publisher = $(DistPubServer);
-- Specify the replication working directory.
SET @directory = N'\\' + $(DistPubServer) + '\repldata';
-- Specify the publication database.
SET @publicationDB = N'AdventureWorks2022';
-- Install the server MYDISTPUB as a Distributor using the defaults,
-- including autogenerating the distributor password.
USE master
EXEC sp_adddistributor @distributor = @distributor;
-- Create a new distribution database using the defaults, including
-- using Windows Authentication.
USE master
EXEC sp_adddistributiondb @database = @distributionDB,
@security_mode = 1;
GO
-- Create a Publisher and enable AdventureWorks2022 for replication.
-- Add MYDISTPUB as a publisher with MYDISTPUB as a local distributor
-- and use Windows Authentication.
DECLARE @distributionDB AS sysname;
DECLARE @publisher AS sysname;
-- Specify the distribution database.
SET @distributionDB = N'distribution';
-- Specify the Publisher name.
SET @publisher = $(DistPubServer);
USE [distribution]
EXEC sp_adddistpublisher @publisher=@publisher,
@distribution_db=@distributionDB,
@security_mode = 1;
GO
사용 권한
sysadmin 고정 서버 역할의 멤버만 실행할 sp_adddistributor
수 있습니다.