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

sp_addmergepullsubscription_agent(Transact-SQL)

끌어오기 구독의 동기화를 예약하는 데 사용되는 새 에이전트 작업을 병합 게시에 추가합니다. 이 저장 프로시저는 구독 데이터베이스의 구독자에서 실행됩니다.

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

sp_addmergepullsubscription_agent [ [ @name = ] 'name' ] 
        , [ @publisher = ] 'publisher'  
        , [ @publisher_db = ] 'publisher_db' 
        , [ @publication =] 'publication' 
    [ , [ @publisher_security_mod e= ] publisher_security_mode ] 
    [ , [ @publisher_login = ] 'publisher_login' ] 
    [ , [ @publisher_password = ] 'publisher_password' ] 
    [ , [ @publisher_encrypted_password = ] publisher_encrypted_password ] 
    [ , [ @subscriber = ] 'subscriber' ] 
    [ , [ @subscriber_db = ] 'subscriber_db' ] 
    [ , [ @subscriber_security_mode = ] subscriber_security_mode ] 
    [ , [ @subscriber_login = ] 'subscriber_login' ] 
    [ , [ @subscriber_password= ] 'subscriber_password' ] 
    [ , [ @distributor = ] 'distributor' ] 
    [ , [ @distributor_security_mode = ] distributor_security_mode ] 
    [ , [ @distributor_login = ] 'distributor_login' ] 
    [ , [ @distributor_password = ] 'distributor_password' ] 
    [ , [ @encrypted_password = ] encrypted_password ] 
    [ , [ @frequency_type = ] frequency_type ] 
    [ , [ @frequency_interval = ] frequency_interval ] 
    [ , [ @frequency_relative_interval = ] frequency_relative_interval ] 
    [ , [ @frequency_recurrence_factor = ] frequency_recurrence_factor ] 
    [ , [ @frequency_subday = ] frequency_subday ] 
    [ , [ @frequency_subday_interval = ] frequency_subday_interval ] 
    [ , [ @active_start_time_of_day = ] active_start_time_of_day ] 
    [ , [ @active_end_time_of_day = ] active_end_time_of_day ] 
    [ , [ @active_start_date = ] active_start_date ] 
    [ , [ @active_end_date = ] active_end_date ] 
    [ , [ @optional_command_line = ] 'optional_command_line' ] 
    [ , [ @merge_jobid = ] merge_jobid ] 
    [ , [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' ] 
    [ , [ @ftp_address = ] 'ftp_address' ] 
    [ , [ @ftp_port = ] ftp_port ] 
    [ , [ @ftp_login = ] 'ftp_login' ] 
    [ , [ @ftp_password = ] 'ftp_password' ]  
    [ , [ @alt_snapshot_folder = ] 'alternate_snapshot_folder' ] 
    [ , [ @working_directory = ] 'working_directory' ] 
    [ , [ @use_ftp = ] 'use_ftp' ] 
    [ , [ @reserved = ] 'reserved' ] 
    [ , [ @use_interactive_resolver = ] 'use_interactive_resolver' ] 
    [ , [ @offloadagent = ] 'remote_agent_activation' ] 
    [ , [ @offloadserver = ] 'remote_agent_server_name'] 
    [ , [ @job_name = ] 'job_name' ] 
    [ , [ @dynamic_snapshot_location = ] 'dynamic_snapshot_location' ]
    [ , [ @use_web_sync = ] use_web_sync ]
        [ , [ @internet_url = ] 'internet_url' ]
    [ , [ @internet_login = ] 'internet_login' ]
        [ , [ @internet_password = ] 'internet_password' ]
    [ , [ @internet_security_mode = ] internet_security_mode ]
        [ , [ @internet_timeout = ] internet_timeout ]
    [ , [ @hostname = ] 'hostname' ]
        [ , [ @job_login = ] 'job_login' ] 
    [ , [ @job_password = ] 'job_password' ] 

[ @name = ] 'name'

에이전트의 이름입니다. namesysname이며 기본값은 NULL입니다.

[ @publisher = ] 'publisher'

게시자 서버의 이름입니다. publishersysname이며 기본값은 없습니다.

[ @publisher_db = ] 'publisher_db'

게시자 데이터베이스의 이름입니다. publisher_dbsysname이며 기본값은 없습니다.

[ @publication = ] 'publication'

게시의 이름입니다. publicationsysname이며 기본값은 없습니다.

[ @publisher_security_mode = ] publisher_security_mode

동기화 시 게시자에 연결하는 데 사용할 보안 모드입니다. publisher_security_modeint이며 기본값은 1입니다. 0은 SQL Server 인증을 지정합니다. 1은 Windows 인증을 지정합니다.

보안 정보 보안 정보

가능하면 Windows 인증을 사용하십시오.

[ @publisher_login = ] 'publisher_login'

동기화 시 게시자에 연결하는 데 사용할 로그인입니다. publisher_loginsysname이며 기본값은 NULL입니다.

[ @publisher_password = ] 'publisher_password'

게시자에 연결할 때 사용하는 암호입니다. publisher_passwordsysname이며 기본값은 NULL입니다.

보안 정보 보안 정보

빈 암호를 사용하지 마십시오. 강력한 암호를 사용하십시오. 가능한 경우 런타임 시 사용자에게 보안 자격 증명을 입력하라는 메시지가 표시됩니다. 자격 증명을 스크립트 파일에 저장해야 하는 경우에는 파일에 무단으로 액세스하지 못하도록 보안을 설정해야 합니다.

[ @publisher_encrypted_password = ]publisher_encrypted_password

publisher_encrypted_password 설정은 더 이상 지원되지 않습니다. bit 매개 변수를 1로 설정하면 오류가 발생합니다.

[ @subscriber = ] 'subscriber'

구독자의 이름입니다. subscribersysname이며 기본값은 NULL입니다.

[ @subscriber_db = ] 'subscriber_db'

구독 데이터베이스의 이름입니다. subscriber_dbsysname이며 기본값은 NULL입니다.

[ @subscriber_security_mode = ] subscriber_security_mode

동기화 시 구독자에 연결하는 데 사용할 보안 모드입니다. subscriber_security_modeint이며 기본값은 1입니다. 0은 SQL Server 인증을 지정합니다. 1은 Windows 인증을 지정합니다.

참고 참고

이 매개 변수는 더 이상 사용되지 않으며 이전 버전의 스크립트와의 호환성을 위해 유지 관리됩니다. 병합 에이전트는 항상 Windows 인증을 사용해 로컬 구독자로 연결됩니다. 이 매개 변수의 값을 지정하면 경고 메시지가 반환되고 값은 무시됩니다.

[ @subscriber_login = ] 'subscriber_login'

동기화 시 구독자에 연결하는 데 사용할 구독자 로그인입니다. subscriber_security_mode 0으로 설정한 경우 subscriber_login이 필요합니다. subscriber_loginsysname이며 기본값은 NULL입니다.

참고 참고

이 매개 변수는 더 이상 사용되지 않으며 이전 버전의 스크립트와의 호환성을 위해 유지 관리됩니다. 이 매개 변수의 값을 지정하면 경고 메시지가 반환되고 값은 무시됩니다.

[ @subscriber_password = ] 'subscriber_password'

SQL Server 인증을 위한 구독자 암호입니다. subscriber_security_mode0으로 설정한 경우 subscriber_password가 필요합니다. subscriber_passwordsysname이며 기본값은 NULL입니다.

참고 참고

이 매개 변수는 더 이상 사용되지 않으며 이전 버전의 스크립트와의 호환성을 위해 유지 관리됩니다. 이 매개 변수의 값을 지정하면 경고 메시지가 반환되고 값은 무시됩니다.

[ @distributor = ] 'distributor'

배포자의 이름입니다. distributorsysname이며 기본값은 publisher입니다. 즉, 게시자가 배포자 역할도 함께 합니다.

[ @distributor_security_mode = ] distributor_security_mode

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

보안 정보 보안 정보

가능하면 Windows 인증을 사용하십시오.

[ @distributor_login = ] 'distributor_login'

동기화 시 배포자에 연결하는 데 사용할 배포자 로그인입니다. distributor_security_mode0으로 설정한 경우 distributor_login이 필요합니다. distributor_loginsysname이며 기본값은 NULL입니다.

[ @distributor_password = ] 'distributor_password'

배포자 암호입니다. distributor_security_mode0으로 설정한 경우 distributor_password가 필요합니다. distributor_passwordsysname이며 기본값은 NULL입니다.

보안 정보 보안 정보

빈 암호를 사용하지 마십시오. 강력한 암호를 사용하십시오. 가능한 경우 런타임 시 사용자에게 보안 자격 증명을 입력하라는 메시지가 표시됩니다. 자격 증명을 스크립트 파일에 저장해야 하는 경우에는 파일에 무단으로 액세스하지 못하도록 보안을 설정해야 합니다.

[ @encrypted_password = ] encrypted_password

encrypted_password 설정은 더 이상 지원되지 않습니다. bit 매개 변수를 1로 설정하면 오류가 발생합니다.

[ @frequency_type = ] frequency_type

병합 에이전트를 예약하는 빈도입니다. frequency_typeint이며 다음 값 중 하나일 수 있습니다.

설명

1

한 번

2

요청 시

4

매일

8

매주

16

매월

32

매월 상대적

64

자동 시작

128

되풀이

NULL(기본값)

 

참고 참고

64를 지정하면 병합 에이전트가 연속 모드로 실행됩니다. 이는 에이전트에 대해 -Continuous 매개 변수를 설정하는 것과 같습니다. 자세한 내용은 복제 병합 에이전트를 참조하십시오.

[ @frequency_interval = ] frequency_interval

병합 에이전트가 실행되는 요일입니다. frequency_intervalint이며 다음 값 중 하나일 수 있습니다.

설명

1

일요일

2

월요일

3

화요일

4

수요일

5

목요일

6

금요일

7

토요일

8

9

평일

10

주말

NULL(기본값)

 

[ @frequency_relative_interval = ] frequency_relative_interval

병합 에이전트의 날짜입니다. frequency_type32(매월 상대적)로 설정한 경우 이 매개 변수가 사용됩니다. frequency_relative_intervalint이며 다음 값 중 하나일 수 있습니다.

설명

1

첫째

2

둘째

4

셋째

8

넷째

16

마지막

NULL(기본값)

 

[ @frequency_recurrence_factor = ] frequency_recurrence_factor

frequency_type에 사용되는 되풀이 비율입니다. frequency_recurrence_factorint이며 기본값은 NULL입니다.

[ @frequency_subday = ] frequency_subday

정의된 기간 동안 다시 예약하는 빈도입니다. frequency_subdayint이며 다음 값 중 하나일 수 있습니다.

설명

1

한 번

2

4

8

시간

NULL(기본값)

 

[ @frequency_subday_interval = ] frequency_subday_interval

frequency_subday에 대한 간격입니다. frequency_subday_intervalint이며 기본값은 NULL입니다.

[ @active_start_time_of_day=] active_start_time_of_day

하루 중에서 병합 에이전트가 처음으로 실행되도록 예약된 시간이며 HHMMSS 형식으로 표시됩니다. active_start_time_of_dayint이며 기본값은 NULL입니다.

[ @active_end_time_of_day = ] active_end_time_of_day

하루 중에서 병합 에이전트가 마지막으로 실행되도록 예약된 시간이며 HHMMSS 형식으로 표시됩니다. active_end_time_of_dayint이며 기본값은 NULL입니다.

[ @active_start_date = ] active_start_date

병합 에이전트가 처음으로 실행되도록 예약된 날짜이며 YYYYMMDD 형식으로 표시됩니다. active_start_dateint이며 기본값은 NULL입니다.

[ @active_end_date = ] active_end_date

병합 에이전트가 마지막으로 실행되도록 예약된 날짜이며 YYYYMMDD 형식으로 표시됩니다. active_end_dateint이며 기본값은 NULL입니다.

[ @optional_command_line = ] 'optional_command_line'

병합 에이전트에 제공되는 선택적 명령 프롬프트입니다. optional_command_linenvarchar(255)이며 기본값은 ' '입니다. 병합 에이전트에 추가 매개 변수를 제공하는 데 사용할 수 있으며 다음 예에서는 기본 쿼리 제한 시간을 600초로 늘립니다.

@optional_command_line = N'-QueryTimeOut 600'
[ @merge_jobid = ] merge_jobid

작업 ID의 출력 매개 변수입니다. merge_jobidbinary(16)이며 기본값은 NULL입니다.

[ @enabled_for_syncmgr = ] 'enabled_for_syncmgr'

Windows 동기화 관리자를 통해 구독을 동기화할 수 있는지 여부를 지정합니다. enabled_for_syncmgrnvarchar(5)이며 기본값은 FALSE입니다. false 인 경우 구독이 동기화 관리자에 등록되지 않습니다. true 이면 구독이 동기화 관리자에 등록되며 SQL Server Management Studio를 시작하지 않고 구독을 동기화할 수 있습니다.

[ @ftp_address = ] 'ftp_address'

이전 버전과의 호환성을 위해서만 지원됩니다.

[ @ftp_port = ] ftp_port

이전 버전과의 호환성을 위해서만 지원됩니다.

[ @ftp_login = ] 'ftp_login'

이전 버전과의 호환성을 위해서만 지원됩니다.

[ @ftp_password = ] 'ftp_password'

이전 버전과의 호환성을 위해서만 지원됩니다.

[ @alt_snapshot_folder = ] 'alternate_snapshot_folder'

선택할 스냅숏 파일의 위치를 지정합니다. alternate_snapshot_foldernvarchar(255)이며 기본값은 NULL입니다. NULL인 경우 게시자가 지정한 기본 위치에 스냅숏이 선택됩니다.

[ @working_directory = ] 'working_directory'

FTP를 사용하여 스냅숏 파일을 전송할 때 게시에 있는 스키마 파일 및 데이터를 임시로 저장하는 데 사용하는 작업 디렉터리의 이름입니다. working_directorynvarchar(255)이며 기본값은 NULL입니다.

[ @use_ftp = ] 'use_ftp'

일반 프로토콜 대신 FTP를 사용하여 스냅숏을 검색하도록 지정합니다. use_ftpnvarchar(5)이며 기본값은 FALSE입니다.

[ @reserved = ] 'reserved'

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

[ @use_interactive_resolver = ] 'use_interactive_resolver' ]

대화형 해결을 허용하는 모든 아티클의 충돌을 해결하기 위해 대화형 해결 프로그램을 사용합니다. use_interactive_resolvernvarchar(5)이며 기본값은 FALSE입니다.

[ @offloadagent = ] 'remote_agent_activation'
참고 참고

원격 에이전트 활성화는 더 이상 사용되지 않으며 지원되지 않습니다. 이 매개 변수는 이전 버전 스크립트와의 호환성을 유지하기 위한 목적으로만 지원됩니다. remote_agent_activationfalse 이외의 값으로 설정하면 오류가 발생합니다.

[ @offloadserver = ] 'remote_agent_server_name'
참고 참고

원격 에이전트 활성화는 더 이상 사용되지 않으며 지원되지 않습니다. 이 매개 변수는 이전 버전 스크립트와의 호환성을 유지하기 위한 목적으로만 지원됩니다. remote_agent_server_name을 NULL이 아닌 값으로 설정하면 오류가 발생합니다.

[ @job_name = ] 'job_name' ]

기존 에이전트 작업의 이름입니다. job_namesysname이며 기본값은 NULL입니다. 이 매개 변수는 새로 만든 작업(기본값) 대신 기존 작업을 사용하여 구독이 동기화될 경우에만 지정됩니다. sysadmin 고정 서버 역할의 멤버가 아닌 경우 job_name을 지정할 때 job_loginjob_password를 지정해야 합니다.

[ @dynamic_snapshot_location = ] 'dynamic_snapshot_location' ]

필터링된 데이터 스냅숏을 사용하는 경우에 스냅숏 파일을 읽을 대상 폴더 경로입니다. dynamic_snapshot_locationnvarchar(260)이며 기본값은 NULL입니다. 자세한 내용은 매개 변수가 있는 행 필터를 참조하십시오.

[ @use_web_sync = ] use_web_sync

웹 동기화를 사용할 수 있음을 나타냅니다. use_web_syncbit이며 기본값은 0입니다. 1은 HTTP를 사용해 인터넷으로 끌어오기 구독을 동기화할 수 있음을 지정합니다.

[ @internet_url = ] 'internet_url'

웹 동기화용 복제 수신기(REPLISAPI.DLL)의 위치입니다. internet_urlnvarchar(260)이며 기본값은 NULL입니다. internet_url은 정규화된 URL이며 http://server.domain.com/directory/replisapi.dll 형식입니다. 서버가 포트 80 이외의 다른 포트에서 수신하도록 구성된 경우 포트 번호도 http://server.domain.com:portnumber/directory/replisapi.dll 형식으로 제공되어야 합니다. 여기서 portnumber는 포트를 나타냅니다.

[ @internet_login = ] 'internet_login'

병합 에이전트가 HTTP 기본 인증을 사용하여 웹 동기화를 호스팅하는 웹 서버에 연결할 때 사용하는 로그인입니다. internet_loginsysname이며 기본값은 NULL입니다.

[ @internet_password = ] 'internet_password'

병합 에이전트가 HTTP 기본 인증을 사용하여 웹 동기화를 호스팅하는 웹 서버에 연결할 때 사용하는 암호입니다. internet_passwordnvarchar(524)이며 기본값은 NULL입니다.

보안 정보 보안 정보

빈 암호를 사용하지 마십시오. 강력한 암호를 사용하십시오.

[ @internet_security_mode = ] internet_security_mode

HTTPS를 사용하여 웹 동기화 동안 웹 서버에 연결할 때 병합 에이전트에서 사용하는 인증 방법입니다. internet_security_modeint이며 다음 값 중 하나일 수 있습니다.

설명

0

기본 인증이 사용됩니다.

1(기본값)

Windows 통합 인증이 사용됩니다.

참고 참고

웹 동기화에는 기본 인증을 사용하는 것이 좋습니다. 웹 동기화를 사용하려면 웹 서버에 SSL 연결을 해야 합니다. 자세한 내용은 웹 동기화 구성을 참조하십시오.

[ @internet_timeout = ] internet_timeout

웹 동기화 요청이 만료되기 전까지의 시간(초)입니다. internet_timeoutint이며 기본값은 300초입니다.

[ @hostname = ] 'hostname'

이 함수가 매개 변수가 있는 필터의 WHERE 절에 사용되는 경우 HOST_NAME()의 값보다 우선합니다. hostnamesysname이며 기본값은 NULL입니다.

[ @job_login = ] 'job_login'

에이전트 실행에 사용되는 Windows 계정의 로그인입니다. job_loginnvarchar(257)이며 기본값은 없습니다. 이 Windows 계정은 Windows 통합 인증을 사용하는 경우 에이전트를 구독자에 연결하고 배포자 및 게시자에 연결할 때 항상 사용됩니다.

[ @job_password = ] 'job_password'

에이전트 실행에 사용되는 Windows 계정의 암호입니다. job_passwordsysname이며 기본값은 없습니다.

보안 정보 보안 정보

스크립트 파일에 인증 정보를 저장하지 않도록 합니다. 최상의 보안을 위해 런타임에 로그인 이름과 암호를 제공해야 합니다.

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

병합 복제에 사용되는 sp_addmergepullsubscription_agentsp_addpullsubscription_agent와 비슷한 기능을 사용합니다.

sp_addmergepullsubscription_agent를 실행할 때 보안 설정을 정확하게 지정하는 예는 끌어오기 구독 만들기를 참조하십시오.

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

sysadmin 고정 서버 역할의 멤버 또는 db_owner 고정 데이터베이스 역할의 멤버만 sp_addmergepullsubscription_agent를 실행할 수 있습니다.

커뮤니티 추가 항목

추가
표시: