문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

sp_adddistributiondb(Transact-SQL)

새 배포 데이터베이스를 만들고 배포자 스키마를 설치합니다. 배포 데이터베이스는 복제에 사용하는 프로시저, 스키마 및 메타데이터를 저장합니다. 이 저장 프로시저는 배포 데이터베이스를 만들기 위해 master 데이터베이스의 배포자에서 실행되며 복제 배포를 사용하는 데 필요한 테이블 및 저장 프로시저를 설치합니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

sp_adddistributiondb [ @database= ] 'database' 
    [ , [ @data_folder= ] 'data_folder' ] 
    [ , [ @data_file= ] 'data_file' ] 
    [ , [ @data_file_size= ] data_file_size ] 
    [ , [ @log_folder= ] 'log_folder' ] 
    [ , [ @log_file= ] 'log_file' ] 
    [ , [ @log_file_size= ] log_file_size ] 
    [ , [ @min_distretention= ] min_distretention ] 
    [ , [ @max_distretention= ] max_distretention ] 
    [ , [ @history_retention= ] history_retention ] 
    [ , [ @security_mode= ] security_mode ] 
    [ , [ @login= ] 'login' ] 
    [ , [ @password= ] 'password' ] 
    [ , [ @createmode= ] createmode ]
    [ , [ @from_scripting = ] from_scripting ]

[ @database=] database'

만들 배포 데이터베이스의 이름입니다. databasesysname이며 기본값은 없습니다. 지정한 데이터베이스가 이미 존재하지만 아직 배포 데이터베이스로 표시되지 않은 경우 배포를 활성화하는 데 필요한 개체가 설치되고 데이터베이스가 배포 데이터베이스로 표시됩니다. 지정한 데이터베이스가 이미 배포 데이터베이스로 활성화된 경우 오류가 반환됩니다.

[ @data_folder=] 'data_folder'

배포 데이터베이스 데이터 파일을 저장하는 데 사용되는 디렉터리의 이름입니다. data_foldernvarchar(255)이며 기본값은 NULL입니다. NULL인 경우 Microsoft SQL Server의 해당 인스턴스에 대한 데이터 디렉터리(예: C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data)가 사용됩니다.

[ @data_file=] 'data_file'

데이터베이스 파일의 이름입니다. data_filenvarchar(255)이며 기본값은 database입니다. NULL인 경우 저장 프로시저는 데이터베이스 이름을 사용하여 새 파일 이름을 생성합니다.

[ @data_file_size=] data_file_size

초기 데이터 파일 크기(MB)입니다. data_file_size iint이며 기본값은 5MB입니다.

[ @log_folder=] 'log_folder'

데이터베이스 로그 파일의 디렉터리 이름입니다. log_foldernvarchar(255)이며 기본값은 NULL입니다. NULL인 경우 SQL Server의 해당 인스턴스에 대한 데이터 디렉터리(예: C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data)가 사용됩니다.

[ @log_file=] 'log_file'

로그 파일의 이름입니다. log_filenvarchar(255)이며 기본값은 NULL입니다. NULL인 경우 저장 프로시저는 데이터베이스 이름을 사용하여 새 파일 이름을 생성합니다.

[ @log_file_size=] log_file_size

초기 로그 파일 크기(MB)입니다. log_file_size int이며 기본값은 0MB입니다. 이 기본값은 SQL Server에서 허용하는 가장 작은 로그 파일 크기를 사용하여 만든 파일 크기를 나타냅니다.

[ @min_distretention=] min_distretention

배포 데이터베이스에서 트랜잭션을 삭제하기 전의 최소 보존 기간(시간)입니다. min_distretentionint이며 기본값은 0시간입니다.

[ @max_distretention=] max_distretention

트랜잭션을 삭제하기 전의 최대 보존 기간(시)입니다. max_distretentionint이며 기본값은 72시간입니다. 배포의 최대 보존 기간보다 오래된 복제 명령을 받지 않은 구독은 비활성 상태로 표시되어 다시 초기화해야 합니다. RAISERROR 21011 오류는 각 비활성 구독에 대해 발생됩니다. 0 값은 복제된 트랜잭션이 배포 데이터베이스에 저장되지 않음을 의미합니다.

[ @history_retention=] history_retention

기록을 보존할 시간입니다. history_retentionint이며 기본값은 48시간입니다.

[ @security_mode=] security_mode

배포자에 연결하는 데 사용할 보안 모드입니다. security_modeint이며 기본값은 1입니다. 0은 SQL Server 인증을 지정하고 1은 Windows 통합 인증을 지정합니다.

[ @login=] 'login'

배포 데이터베이스를 만들기 위해 배포자에 연결할 때 사용하는 로그인 이름입니다. security_mode0으로 설정한 경우 필요합니다. loginsysname이며 기본값은 NULL입니다.

[ @password=] 'password'

배포자에 연결할 때 사용하는 암호입니다. security_mode0으로 설정된 경우 필요합니다. passwordsysname이고 기본값은 NULL입니다.

[ @createmode=] createmode

createmodeint이고 기본값은 1이며 다음 값 중 하나일 수 있습니다.

설명

0

정보를 제공하기 위해서만 확인됩니다. 지원되지 않습니다. 향후 호환성은 보장되지 않습니다.

1(기본값)

CREATE DATABASE 또는 기존 데이터베이스를 사용한 다음 배포 데이터베이스에 복제 개체를 만들기 위해 instdist.sql 파일을 적용합니다.

2

정보를 제공하기 위해서만 확인됩니다. 지원되지 않습니다. 향후 호환성은 보장되지 않습니다.

[ @from_scripting = ] from_scripting

정보를 제공하기 위해서만 확인됩니다. 지원되지 않습니다. 향후 호환성은 보장되지 않습니다. 

0(성공) 또는 1(실패)

sp_adddistributiondb는 모든 유형의 복제에서 사용됩니다. 단, 이 저장 프로시저는 배포자에서만 실행합니다.

sp_adddistributiondb를 실행하기 전에 sp_adddistributor를 실행하여 배포자를 구성해야 합니다.

sp_adddistributiondb를 실행하기 이전에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'AdventureWorks2012'; 

-- 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 AdventureWorks2012 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_adddistributiondb를 실행할 수 있습니다.

커뮤니티 추가 항목

추가
표시: