sp_addmergepullsubscription(Transact-SQL)sp_addmergepullsubscription (Transact-SQL)

이 항목은 다음에 적용됩니다.예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

병합 게시에 끌어오기 구독을 추가합니다.Adds a pull subscription to a merge publication. 이 저장 프로시저는 구독 데이터베이스의 구독자에서 실행됩니다.This stored procedure is executed at the Subscriber on the subscription database.

항목 링크 아이콘 Transact-SQL 구문 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax


sp_addmergepullsubscription [ @publication= ] 'publication'   
    [ , [ @publisher= ] 'publisher' ]   
    [ , [ @publisher_db = ] 'publisher_db' ]   
    [ , [ @subscriber_type= ] 'subscriber_type' ]   
    [ , [ @subscription_priority= ] subscription_priority ]   
    [ , [ @sync_type= ] 'sync_type' ]   
    [ , [ @description= ] 'description' ]  

인수Arguments

[ @publication=] 'publication'[ @publication=] 'publication'
게시의 이름입니다.Is the name of the publication. 게시sysname, 기본값은 없습니다.publication is sysname, with no default.

[ @publisher=] 'publisher'[ @publisher=] 'publisher'
게시자의 이름입니다.Is the name of the Publisher. 게시자sysname, 로컬 서버 이름의 기본값입니다.Publisher is sysname, with a default of the local server name. 게시자는 유효한 서버여야 합니다.The Publisher must be a valid server.

[ @publisher_db =] 'publisher_db'[ @publisher_db =] 'publisher_db'
게시자 데이터베이스의 이름입니다.Is the name of the Publisher database. publisher_dbsysname, 기본값은 NULL입니다.publisher_db is sysname, with a default of NULL.

[ @subscriber_type=] 'subscriber_type'[ @subscriber_type=] 'subscriber_type'
구독자의 유형입니다.Is the type of Subscriber. subscriber_typenvarchar (15), 수 및 글로벌, 로컬 또는 익명합니다.subscriber_type is nvarchar(15), and can be global, local or anonymous. SQL Server 2005SQL Server 2005 이상 버전에서 로컬 구독은 클라이언트 구독이라고 하며 전역 구독은 서버 구독이라고 합니다.In SQL Server 2005SQL Server 2005 and later versions, local subscriptions are referred to as client subscriptions and global subscriptions are referred to as server subscriptions.

[ @subscription_priority=] subscription_priority[ @subscription_priority=] subscription_priority
구독 우선 순위입니다.Is the subscription priority. subscription_priority실제, 기본값은 NULL입니다.subscription_priorityis real, with a default of NULL. 로컬 및 익명 구독에 대 한 우선 순위는 0.0합니다.For local and anonymous subscriptions, the priority is 0.0. 우선 순위는 기본 해결 프로그램이 충돌을 감지했을 때 먼저 적용할 항목을 선택하는 데 사용합니다.The priority is used by the default resolver to pick a winner when conflicts are detected. 전역 구독자인 경우 구독 우선 순위는 100 미만이어야 합니다. 100은 게시자의 우선 순위입니다.For global subscribers, the subscription priority must be less than 100, which is the priority of the publisher.

[ @sync_type=] 'sync_type'[ @sync_type=] 'sync_type'
구독 동기화 유형입니다.Is the subscription synchronization type. sync_typenvarchar (15), 기본값은 자동합니다.sync_typeis nvarchar(15), with a default of automatic. 자동 또는 none합니다.Can be automatic or none. 경우 자동, 스키마 및 게시 된 테이블에 대 한 초기 데이터가 먼저 구독자에 전송 됩니다.If automatic, the schema and initial data for published tables are transferred to the Subscriber first. 경우 none, 구독자는 스키마 및 초기 데이터가 이미 게시 된 테이블에 대 한 가정 합니다.If none, it is assumed the Subscriber already has the schema and initial data for published tables. 시스템 테이블 및 데이터는 항상 전송됩니다.System tables and data are always transferred.

참고

값을 지정 하지 않는 것이 좋습니다 none합니다.We do not recommend specifying a value of none.

[ @description=] '설명'[ @description=] 'description'
해당 끌어오기 구독에 대한 간단한 설명입니다.Is a brief description of this pull subscription. 설명nvarchar (255), 기본값은 NULL입니다.descriptionis nvarchar(255), with a default of NULL. 복제 모니터에서이 값이 표시는 이름 모니터링 되는 게시에 대 한 구독을 정렬 하는 데 사용할 수 있는 열입니다.This value is displayed by the Replication Monitor in the Friendly Name column, which can be used to sort the subscriptions for a monitored publication.

반환 코드 값Return Code Values

0 (성공) 또는 1 (실패)0 (success) or 1 (failure)

주의Remarks

sp_addmergepullsubscription 병합 복제에 사용 됩니다.sp_addmergepullsubscription is used for merge replication.

사용 하는 경우 SQL ServerSQL Server 구독을 동기화 하려면 에이전트는 sp_addmergepullsubscription_agent 에이전트 및 게시와 동기화 할 작업을 만들려면 구독자에서 저장된 프로시저를 실행 해야 합니다.If using SQL ServerSQL Server Agent to synchronize the subscription, the sp_addmergepullsubscription_agent stored procedure must be run at the Subscriber to create an agent and job to synchronize with the Publication.

예제Example


-- 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".

-- Execute this batch at the Subscriber.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB AS sysname;
DECLARE @hostname AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks2012';
SET @hostname = N'adventure-works\david8';

-- At the subscription database, create a pull subscription 
-- to a merge publication.
USE [AdventureWorks2012Replica]
EXEC sp_addmergepullsubscription 
  @publisher = @publisher, 
  @publication = @publication, 
  @publisher_db = @publicationDB;

-- Add an agent job to synchronize the pull subscription. 
EXEC sp_addmergepullsubscription_agent 
  @publisher = @publisher, 
  @publisher_db = @publicationDB, 
  @publication = @publication, 
  @distributor = @publisher, 
  @job_login = $(Login), 
  @job_password = $(Password),
  @hostname = @hostname;
GO
-- 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".

-- Publication must support anonymous Subscribers.
-- Execute this batch at the Subscriber.
DECLARE @publication AS sysname;
DECLARE @publisher AS sysname;
DECLARE @publicationDB AS sysname;
DECLARE @websyncurl AS sysname;
DECLARE @security_mode AS int;
DECLARE @login AS sysname;
DECLARE @password AS nvarchar(512);
SET @publication = N'AdvWorksSalesOrdersMergeWebSync';
SET @publisher = $(PubServer);
SET @publicationDB = N'AdventureWorks2012';
SET @websyncurl = 'https://' + $(WebServer) + '/WebSync';
SET @security_mode = 0; -- Basic Authentication for IIS
SET @login = $(Login);
SET @password = $(Password);

-- At the subscription database, create a pull subscription 
-- to a merge publication.
USE [AdventureWorks2012Replica]
EXEC sp_addmergepullsubscription 
	@publisher = @publisher, 
	@publication = @publication, 
	@publisher_db = @publicationDB,
	@subscriber_type = N'anonymous';

-- Add an agent job to synchronize the pull subscription. 
EXEC sp_addmergepullsubscription_agent 
	@publisher = @publisher, 
	@publisher_db = @publicationDB, 
	@publication = @publication, 
	@distributor = @publisher, 
	@job_login = @login, 
	@job_password = @password,
	@use_web_sync = 1,
	@internet_security_mode = @security_mode,
	@internet_url = @websyncurl,
	@internet_login = @login,
	@internet_password = @password;
GO

PermissionsPermissions

구성원만는 sysadmin 고정된 서버 역할 또는 db_owner 고정된 데이터베이스 역할을 실행할 수 있는 sp_addmergepullsubscription합니다.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_addmergepullsubscription.

관련 항목:See Also

끌어오기 구독 만들기 Create a Pull Subscription
게시 구독 Subscribe to Publications
sp_addmergepullsubscription_agent (TRANSACT-SQL) sp_addmergepullsubscription_agent (Transact-SQL)
sp_changemergepullsubscription (TRANSACT-SQL) sp_changemergepullsubscription (Transact-SQL)
sp_dropmergepullsubscription (TRANSACT-SQL) sp_dropmergepullsubscription (Transact-SQL)
sp_helpmergepullsubscription (TRANSACT-SQL) sp_helpmergepullsubscription (Transact-SQL)
sp_helpsubscription_properties(Transact-SQL)sp_helpsubscription_properties (Transact-SQL)