sp_addsubscription(Transact-SQL)sp_addsubscription (Transact-SQL)

적용 대상: 예SQL Server(2008부터) 아니요Azure SQL Database 아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 APPLIES TO: yesSQL Server (starting with 2008) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

게시에 구독을 추가하고 구독자 상태를 설정합니다.Adds a subscription to a publication and sets the Subscriber status. 이 저장 프로시저는 게시 데이터베이스의 게시자에서 실행됩니다.This stored procedure is executed at the Publisher on the publication database.

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

구문Syntax


sp_addsubscription [ @publication = ] 'publication'  
    [ , [ @article = ] 'article']  
    [ , [ @subscriber = ] 'subscriber' ]  
    [ , [ @destination_db = ] 'destination_db' ]  
        [ , [ @sync_type = ] 'sync_type' ]  
    [ , [ @status = ] 'status'  
        [ , [ @subscription_type = ] 'subscription_type' ]  
    [ , [ @update_mode = ] 'update_mode' ]  
    [ , [ @loopback_detection = ] 'loopback_detection' ]  
    [ , [ @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' ]  
    [ , [ @reserved = ] 'reserved' ]  
    [ , [ @enabled_for_syncmgr= ] 'enabled_for_syncmgr' ]  
    [ , [ @offloadagent= ] remote_agent_activation]  
    [ , [ @offloadserver= ] 'remote_agent_server_name' ]  
    [ , [ @dts_package_name= ] 'dts_package_name' ]  
    [ , [ @dts_package_password= ] 'dts_package_password' ]  
    [ , [ @dts_package_location= ] 'dts_package_location' ]  
    [ , [ @distribution_job_name= ] 'distribution_job_name' ]  
    [ , [ @publisher = ] 'publisher' ]  
    [ , [ @backupdevicetype = ] 'backupdevicetype' ]  
    [ , [ @backupdevicename = ] 'backupdevicename' ]  
    [ , [ @mediapassword = ] 'mediapassword' ]  
    [ , [ @password = ] 'password' ]  
    [ , [ @fileidhint = ] fileidhint ]  
    [ , [ @unload = ] unload ]  
    [ , [ @subscriptionlsn = ] subscriptionlsn ]  
    [ , [ @subscriptionstreams = ] subscriptionstreams ]  
    [ , [ @subscriber_type = ] subscriber_type ]  
    [ , [ @memory_optimized = ] memory_optimized ]  

인수Arguments

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

[ @article=] '문서'[ @article=] 'article'
게시를 구독하는 아티클입니다.Is the article to which the publication is subscribed. 문서 됩니다 sysname, 기본값은 all을 사용 하 여 합니다.article is sysname, with a default of all. all인 경우 해당 게시의 모든 아티클에 구독이 추가됩니다.If all, a subscription is added to all articles in that publication. Oracle 게시자의 경우 all 또는 NULL 값만 지원됩니다.Only values of all or NULL are supported for Oracle Publishers.

[ @subscriber=] '구독자'[ @subscriber=] 'subscriber'
구독자의 이름입니다.Is the name of the Subscriber. 구독자 됩니다 sysname, 기본값은 NULL입니다.subscriber is sysname, with a default of NULL.

[ @destination_db=] 'destination_db'[ @destination_db=] 'destination_db'
복제된 데이터를 추가할 대상 데이터베이스의 이름입니다.Is the name of the destination database in which to place replicated data. destination_db 됩니다 sysname, 기본값은 NULL입니다.destination_db is sysname, with a default of NULL. NULL 인 경우 destination_db 게시 데이터베이스의 이름으로 설정 됩니다.When NULL, destination_db is set to the name of the publication database. For Oracle Publishers destination_db 지정 해야 합니다.For Oracle Publishers, destination_db must be specified. 에 SQL Server 이외 구독자에 대 한 (기본 대상)의 값을 지정 destination_db합니다.For a non-SQL Server Subscriber, specify a value of (default destination) for destination_db.

[ @sync_type=] 'sync_type'[ @sync_type=] 'sync_type'
구독 동기화 유형입니다.Is the subscription synchronization type. sync_type 됩니다 nvarchar(255), 이며 다음 값 중 하나일 수 있습니다.sync_type is nvarchar(255), and can be one of the following values:

Value DescriptionDescription
nonenone 게시된 테이블에 대한 스키마 및 초기 데이터가 구독자에 이미 있습니다.Subscriber already has the schema and initial data for published tables.

참고:이 옵션에 사용 되지 않습니다.Note: This option has been deprecated. 대신 replication support only를 사용하십시오.Use replication support only instead.
automatic(기본값)automatic (default) 게시된 테이블의 스키마 및 초기 데이터가 구독자에게 먼저 전송됩니다.Schema and initial data for published tables are transferred to the Subscriber first.
replication support onlyreplication support only 필요한 경우 구독자에서 업데이트 구독을 지원하는 아티클 사용자 지정 저장 프로시저 및 트리거의 자동 생성을 제공합니다.Provides automatic generation at the Subscriber of article custom stored procedures and triggers that support updating subscriptions, if appropriate. 이 옵션은 게시된 테이블에 대한 스키마 및 초기 데이터가 구독자에 이미 있다고 가정합니다.Assumes that the Subscriber already has the schema and initial data for published tables. 피어 투 피어 트랜잭션 복제 토폴로지를 구성하는 경우 토폴로지의 모든 노드에 있는 데이터가 동일해야 합니다.When configuring a peer-to-peer transactional replication topology, ensure that the data at all nodes in the topology is identical. 자세한 내용은 Peer-to-Peer Transactional Replication을 참조하세요.For more information, see Peer-to-Peer Transactional Replication.

SQL Server 이외 게시에 구독에 대 한 지원 되지 않습니다.Not supported for subscriptions to non-SQL Server publications.
initialize with backupinitialize with backup 게시된 테이블의 스키마 및 초기 데이터는 게시 데이터베이스의 백업에서 가져옵니다.Schema and initial data for published tables are obtained from a backup of the publication database. 구독자에 게시 데이터베이스 백업에 대한 액세스 권한이 있다고 가정합니다.Assumes that the Subscriber has access to a backup of the publication database. 에 지정 된 백업에 대 한 백업 및 미디어 형식의 위치 backupdevicename 하 고 backupdevicetype합니다.The location of the backup and media type for the backup are specified by backupdevicename and backupdevicetype. 이 옵션을 사용하는 경우 구성 중에 피어 투 피어 트랜잭션 복제 토폴로지를 정지할 필요가 없습니다.When using this option, a peer-to-peer transactional replication topology need not be quiesced during configuration.

SQL Server 이외 게시에 구독에 대 한 지원 되지 않습니다.Not supported for subscriptions to non-SQL Server publications.
initialize from lsninitialize from lsn 피어 투 피어 트랜잭션 복제 토폴로지에 노드를 추가할 때 사용합니다.Used when you are adding a node to a peer-to-peer transactional replication topology. 관련된 모든 트랜잭션이 새 노드에 복제되도록 하려면 @subscriptionlsn을 함께 사용합니다.Used with @subscriptionlsn to make sure that all relevant transactions are replicated to the new node. 이 옵션은 게시된 테이블에 대한 스키마 및 초기 데이터가 구독자에 이미 있다고 가정합니다.Assumes that the Subscriber already has the schema and initial data for published tables. 자세한 내용은 Peer-to-Peer Transactional Replication을 참조하세요.For more information, see Peer-to-Peer Transactional Replication.

참고

시스템 테이블 및 데이터는 항상 전송됩니다.System tables and data are always transferred.

[ @status=] '상태'[ @status=] 'status'
동기화 상태입니다.Is the subscription status. 상태 됩니다 sysname, 기본값은 NULL입니다.status is sysname, with a default value of NULL. 이 매개 변수를 명시적으로 설정하지 않으면 복제 시 자동으로 다음 값 중 하나로 설정됩니다.When this parameter is not explicitly set, replication automatically sets it to one of these values.

Value DescriptionDescription
activeactive 구독이 초기화되고 변경 내용을 받아들일 준비가 되었습니다.Subscription is initialized and ready to accept changes. 이 옵션을 설정 하는 경우 값 sync_type 가 none 이므로 backup 또는 replication support만 사용 하 여 초기화 합니다.This option is set when the value of sync_type is none, initialize with backup, or replication support only.
subscribedsubscribed 구독을 초기화해야 합니다.Subscription needs to be initialized. 이 옵션을 설정 하는 경우 값 sync_type 자동입니다.This option is set when the value of sync_type is automatic.

[ @subscription_type=] 'subscription_type'[ @subscription_type=] 'subscription_type'
구독 유형입니다.Is the type of subscription. subscription_type 됩니다 nvarchar(4), 기본값은 push 사용 하 여 합니다.subscription_type is nvarchar(4), with a default of push. push 또는 pull이 될 수 있습니다.Can be push or pull. 배포자에서 밀어넣기 구독의 배포 에이전트 들이 있고 구독자의 끌어오기 구독의 배포 에이전트입니다.The Distribution Agents of push subscriptions reside at the Distributor, and the Distribution Agents of pull subscriptions reside at the Subscriber. subscription_type 게시자에 알려진 명명 된 끌어오기 구독을 만들려면 끌어오기를 수 있습니다.subscription_type can be pull to create a named pull subscription that is known to the Publisher. 자세한 내용은 게시 구독을 참조하세요.For more information, see Subscribe to Publications.

참고

익명 구독은 이 저장 프로시저를 사용할 필요가 없습니다.Anonymous subscriptions do not need to use this stored procedure.

[ @update_mode=] 'update_mode'[ @update_mode=] 'update_mode'
업데이트의 유형이입니다. update_mode 됩니다 nvarchar(30), 이며 다음이 값 중 하나일 수 있습니다.Is the type of update.update_mode is nvarchar(30), and can be one of these values.

Value DescriptionDescription
read only(기본값)read only (default) 구독이 읽기 전용입니다.The subscription is read-only. 구독자의 변경 내용이 게시자에 전달되지 않습니다.The changes at the Subscriber are not sent to the Publisher.
sync transync tran 즉시 업데이트 구독에 대한 지원을 설정합니다.Enables support for immediate updating subscriptions. Oracle 게시자에 대해서는 지원되지 않습니다.Not supported for Oracle Publishers.
queued tranqueued tran 지연 업데이트 구독을 설정합니다.Enables the subscription for queued updating. 구독자에서 데이터를 수정하고 큐에 저장한 후 게시자에 전파할 수 있습니다.Data modifications can be made at the Subscriber, stored in a queue, and then propagated to the Publisher. Oracle 게시자에 대해서는 지원되지 않습니다.Not supported for Oracle Publishers.
failoverfailover 즉시 업데이트를 기본으로 사용하고 장애 조치(Failover)로 지연 업데이트를 사용합니다.Enables the subscription for immediate updating with queued updating as a failover. 구독자에서 데이터를 수정하고 게시자에 즉시 전파할 수 있습니다.Data modifications can be made at the Subscriber and propagated to the Publisher immediately. 게시자와 구독자가 연결되지 않은 경우 구독자와 게시자가 다시 연결될 때까지 구독자의 데이터 수정 내용이 큐에 저장되도록 업데이트 모드를 변경할 수 있습니다.If the Publisher and Subscriber are not connected, the updating mode can be changed so that data modifications made at the Subscriber are stored in a queue until the Subscriber and Publisher are reconnected. Oracle 게시자에 대해서는 지원되지 않습니다.Not supported for Oracle Publishers.
queued failoverqueued failover 구독을 지연 업데이트 구독으로 설정하며 즉시 업데이트 모드로 변경할 수 있는 기능을 포함합니다.Enables the subscription as a queued updating subscription with the ability to change to immediate updating mode. 구독자에서 데이터를 수정한 후 구독자와 게시자가 연결될 때까지 수정 내용을 큐에 저장할 수 있습니다.Data modifications can be made at the Subscriber and stored in a queue until a connection is established between the Subscriber and Publisher. 지속적 연결이 설정되는 경우 업데이트 모드를 즉시 업데이트로 변경할 수 있습니다.When a continuous connection is established the updating mode can be changed to immediate updating. Oracle 게시자에 대해서는 지원되지 않습니다.Not supported for Oracle Publishers.

값 synctran 및 queued tran 되지 않는 참고에 구독 되는 게시가 DTS를 허용 하는 경우를 허용 합니다.Note that the values synctran and queued tran are not allowed if the publication being subscribed to allows DTS.

[ @loopback_detection=] 'loopback_detection'[ @loopback_detection=] 'loopback_detection'
배포 에이전트가 구독자에서 발생한 트랜잭션을 다시 구독자에게 보낼지 여부를 지정합니다.Specifies if the Distribution Agent sends transactions that originated at the Subscriber back to the Subscriber. loopback_detection 됩니다 nvarchar(5), 이며 다음이 값 중 하나일 수 있습니다.loopback_detection is nvarchar(5), and can be one of these values.

Value DescriptionDescription
truetrue 배포 에이전트가 구독자에서 발생한 트랜잭션을 다시 구독자에게 보내지 않습니다.Distribution Agent does not send transactions originated at the Subscriber back to the Subscriber. 양방향 트랜잭션 복제에 사용됩니다.Used with bidirectional transactional replication. 자세한 내용은 Bidirectional Transactional Replication를 참조하세요.For more information, see Bidirectional Transactional Replication.
falsefalse 배포 에이전트가 구독자에서 발생한 트랜잭션을 다시 구독자에게 보냅니다.Distribution Agent sends transactions that originated at the Subscriber back to the Subscriber.
NULL(기본값)NULL (default) SQL ServerSQL Server 구독자에 대해서는 자동으로 true로 설정되고 SQL ServerSQL Server 이외 구독자에 대해서는 자동으로 false로 설정됩니다.Automatically set to true for a SQL ServerSQL Server Subscriber and false for a non- SQL ServerSQL Server Subscriber.

[ @frequency_type=] frequency_type[ @frequency_type=] frequency_type
배포 태스크를 예약하는 빈도입니다.Is the frequency with which to schedule the distribution task. frequency_type 은 int 이며 다음이 값 중 하나일 수 있습니다.frequency_type is int, and can be one of these values.

Value DescriptionDescription
11 한 번One time
22 요청 시On demand
44 일별Daily
88 매주Weekly
1616 매월Monthly
3232 매월 상대적Monthly relative
64 (기본값)64 (default) 자동 시작Autostart
128128 되풀이Recurring

[ @frequency_interval=] frequency_interval[ @frequency_interval=] frequency_interval
설정 된 빈도에 적용 하려면 값인 frequency_type합니다.Is the value to apply to the frequency set by frequency_type. frequency_interval 됩니다 int, 기본값은 NULL입니다.frequency_interval is int, with a default of NULL.

[ @frequency_relative_interval=] frequency_relative_interval[ @frequency_relative_interval=] frequency_relative_interval
배포 에이전트의 날짜입니다.Is the date of the Distribution Agent. 이 매개 변수를 사용 하면 frequency_type 32 (매월 상대)로 설정 됩니다.This parameter is used when frequency_type is set to 32 (monthly relative). frequency_relative_interval 됩니다 int, 이며 다음이 값 중 하나일 수 있습니다.frequency_relative_interval is int, and can be one of these values.

Value DescriptionDescription
11 첫째First
22 둘째Second
44 셋째Third
88 넷째Fourth
1616 마지막Last
NULL(기본값)NULL (default)

[ @frequency_recurrence_factor=] frequency_recurrence_factor[ @frequency_recurrence_factor=] frequency_recurrence_factor
사용 하는 되풀이 비율 frequency_type합니다.Is the recurrence factor used by frequency_type. frequency_recurrence_factor 됩니다 int, 기본값은 NULL입니다.frequency_recurrence_factor is int, with a default of NULL.

[ @frequency_subday=] frequency_subday[ @frequency_subday=] frequency_subday
정의된 기간 동안 다시 예약하는 빈도(분)입니다.Is how often, in minutes, to reschedule during the defined period. frequency_subday 됩니다 int, 이며 다음이 값 중 하나일 수 있습니다.frequency_subday is int, and can be one of these values.

Value DescriptionDescription
11 한 번Once
22 둘째Second
44 MinuteMinute
88 HourHour
NULLNULL

[ @frequency_subday_interval=] frequency_subday_interval[ @frequency_subday_interval=] frequency_subday_interval
에 대 한 간격인 frequency_subday합니다.Is the interval for frequency_subday. frequency_subday_interval 됩니다 int, 기본값은 NULL입니다.frequency_subday_interval is int, with a default of NULL.

[ @active_start_time_of_day=] active_start_time_of_day[ @active_start_time_of_day=] active_start_time_of_day
하루 중에서 배포 에이전트가 처음으로 실행되도록 예약된 시간이며 HHMMSS 형식으로 표시됩니다.Is the time of day when the Distribution Agent is first scheduled, formatted as HHMMSS. active_start_time_of_day 됩니다 int, 기본값은 NULL입니다.active_start_time_of_day is int, with a default of NULL.

[ @active_end_time_of_day=] active_end_time_of_day[ @active_end_time_of_day=] active_end_time_of_day
하루 중에서 배포 에이전트가 마지막으로 실행되도록 예약된 시간이며 HHMMSS 형식으로 표시됩니다.Is the time of day when the Distribution Agent stops being scheduled, formatted as HHMMSS. active_end_time_of_day 됩니다 int, 기본값은 NULL입니다.active_end_time_of_day is int, with a default of NULL.

[ @active_start_date=] active_start_date[ @active_start_date=] active_start_date
배포 에이전트가 처음으로 실행되도록 예약된 날짜이며 YYYYMMDD 형식으로 표시됩니다.Is the date when the Distribution Agent is first scheduled, formatted as YYYYMMDD. active_start_date 됩니다 int, 기본값은 NULL입니다.active_start_date is int, with a default of NULL.

[ @active_end_date=] active_end_date[ @active_end_date=] active_end_date
배포 에이전트가 마지막으로 실행되도록 예약된 날짜이며 YYYYMMDD 형식으로 표시됩니다.Is the date when the Distribution Agent stops being scheduled, formatted as YYYYMMDD. active_end_date 됩니다 int, 기본값은 NULL입니다.active_end_date is int, with a default of NULL.

[ @optional_command_line=] 'optional_command_line'[ @optional_command_line=] 'optional_command_line'
실행할 선택적 명령 프롬프트입니다.Is the optional command prompt to execute. optional_command_line 됩니다 nvarchar(4000), 기본값은 NULL입니다.optional_command_line is nvarchar(4000), with a default of NULL.

[ @reserved=] '예약 된'[ @reserved=] 'reserved'
정보를 제공하기 위해서만 확인됩니다.Identified for informational purposes only. 지원되지 않습니다.Not supported. 향후 호환성은 보장되지 않습니다.Future compatibility is not guaranteed.

[ @enabled_for_syncmgr=] 'enabled_for_syncmgr'[ @enabled_for_syncmgr=] 'enabled_for_syncmgr'
구독을 통해 동기화 할 수 있는지 여부는 MicrosoftMicrosoft Windows 동기화 관리자입니다.Is whether the subscription can be synchronized through MicrosoftMicrosoft Windows Synchronization Manager. enabled_for_syncmgr 됩니다 nvarchar(5), 기본값은 FALSE입니다.enabled_for_syncmgr is nvarchar(5), with a default of FALSE. false인 경우 구독이 Windows 동기화 관리자에 등록되지 않습니다.If false, the subscription is not registered with Windows Synchronization Manager. true인 경우에는 구독이 Windows 동기화 관리자에 등록되며 SQL Server Management StudioSQL Server Management Studio를 시작하지 않고 구독을 동기화할 수 있습니다.If true, the subscription is registered with Windows Synchronization Manager and can be synchronized without starting SQL Server Management StudioSQL Server Management Studio. Oracle 게시자에 대해서는 지원되지 않습니다.Not supported for Oracle Publishers.

[ @offloadagent= ] 'remote_agent_activation'[ @offloadagent= ] 'remote_agent_activation'
에이전트를 원격으로 활성화할 수 있음을 나타냅니다.Specifies that the agent can be activated remotely. remote_agent_activation 됩니다 비트 이며 기본값은 0입니다.remote_agent_activation is bit with a default of 0.

참고

이 매개 변수는 더 이상 사용되지 않으며 이전 버전의 스크립트와의 호환성을 위해서만 유지 관리됩니다.This parameter has been deprecated and is only maintained for backward compatibility of scripts.

[ @offloadserver= ] 'remote_agent_server_name'[ @offloadserver= ] 'remote_agent_server_name'
원격 활성화에 사용할 서버의 네트워크 이름을 지정합니다.Specifies the network name of server to be used for remote activation. remote_agent_server_name됩니다 sysname, 기본값은 NULL입니다.remote_agent_server_nameis sysname, with a default of NULL.

[ @dts_package_name= ] 'dts_package_name'[ @dts_package_name= ] 'dts_package_name'
DTS(데이터 변환 서비스) 패키지의 이름을 지정합니다.Specifies the name of the Data Transformation Services (DTS) package. dts_package_name 되는 sysname 이며 기본값은 NULL입니다.dts_package_name is a sysname with a default of NULL. 예를 들어 DTSPub_Package의 패키지를 지정하려면 매개 변수가 @dts_package_name = N'DTSPub_Package'가 되어야 합니다.For example, to specify a package of DTSPub_Package, the parameter would be @dts_package_name = N'DTSPub_Package'. 이 매개 변수는 밀어넣기 구독에 사용할 수 있습니다.This parameter is available for push subscriptions. DTS 패키지 정보를 끌어오기 구독에 추가하려면 sp_addpullsubscription_agent를 사용하십시오.To add DTS package information to a pull subscription, use sp_addpullsubscription_agent.

[ @dts_package_password= ] 'dts_package_password'[ @dts_package_password= ] 'dts_package_password'
패키지의 암호를 지정합니다.Specifies the password on the package, if there is one. dts_package_password 됩니다 sysname 이며 기본값은 NULL입니다.dts_package_password is sysname with a default of NULL.

참고

경우에 암호를 지정 해야 합니다 dts_package_name 지정 됩니다.You must specify a password if dts_package_name is specified.

[ @dts_package_location= ] 'dts_package_location'[ @dts_package_location= ] 'dts_package_location'
패키지 위치를 지정합니다.Specifies the package location. dts_package_location 되는 nvarchar(12), 배포자의 기본값을 사용 하 여 합니다.dts_package_location is a nvarchar(12), with a default of DISTRIBUTOR. 패키지 위치는 distributor 또는 subscriber일 수 있습니다.The location of the package can be distributor or subscriber.

[ @distribution_job_name= ] 'distribution_job_name'[ @distribution_job_name= ] 'distribution_job_name'
정보를 제공하기 위해서만 확인됩니다.Identified for informational purposes only. 지원되지 않습니다.Not supported. 향후 호환성은 보장되지 않습니다.Future compatibility is not guaranteed.

[ @publisher= ] 'publisher'[ @publisher= ] 'publisher'
이외 MicrosoftMicrosoft SQL ServerSQL Server 게시자입니다.Specifies a non- MicrosoftMicrosoft SQL ServerSQL Server Publisher. 게시자 됩니다 sysname, 기본값은 NULL입니다.publisher is sysname, with a default of NULL.

참고

게시자 에 대해 지정할 수 없습니다는 SQL ServerSQL Server 게시자입니다.publisher should not be specified for a SQL ServerSQL Server Publisher.

[ @backupdevicetype=] 'backupdevicetype'[ @backupdevicetype= ] 'backupdevicetype'
백업에서 구독자를 초기화할 때 사용되는 백업 장치의 유형을 지정합니다.Specifies the type of backup device used when initializing a Subscriber from a backup. backupdevicetype 됩니다 nvarchar(20), 이며 다음이 값 중 하나일 수 있습니다.backupdevicetype is nvarchar(20), and can be one of these values:

Value DescriptionDescription
logical(기본값)logical (default) 백업 장치가 논리적 장치입니다.The backup device is a logical device.
diskdisk 백업 장치가 디스크 드라이브입니다.The backup device is disk drive.
tapetape 백업 장치가 테이프 드라이브입니다.The backup device is a tape drive

backupdevicetype 때만 사용 됩니다 sync_methodinitialize_with_backup으로 설정 됩니다.backupdevicetype is only used when sync_methodis set to initialize_with_backup.

[ @backupdevicename=] 'backupdevicename'[ @backupdevicename= ] 'backupdevicename'
백업에서 구독자를 초기화할 때 사용되는 장치의 이름을 지정합니다.Specifies the name of the device used when initializing a Subscriber from a backup. backupdevicename 됩니다 nvarchar(1000), 기본값은 NULL입니다.backupdevicename is nvarchar(1000), with a default of NULL.

[ @mediapassword=] 'mediapassword'[ @mediapassword= ] 'mediapassword'
미디어를 포맷할 때 암호를 설정한 경우 미디어 세트의 암호를 지정합니다.Specifies a password for the media set if a password was set when the media was formatted. mediapassword 됩니다 sysname, 기본값은 NULL입니다.mediapassword is sysname, with a default value of NULL.

참고

이 기능은 유지 관리 모드에 있으며, Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다.This feature is in maintenance mode and may be removed in a future version of Microsoft SQL Server. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하세요.Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

[ @password=] '암호'[ @password= ] 'password'
백업을 만들 때 암호를 설정한 경우 백업의 암호를 지정합니다.Specifies a password for the backup if a password was set when the backup was created. 암호됩니다 sysname, 기본값은 NULL입니다.passwordis sysname, with a default value of NULL.

[ @fileidhint= ] fileidhint[ @fileidhint= ] fileidhint
복원할 백업 세트의 서수 값을 식별합니다.Identifies an ordinal value of the backup set to be restored. fileidhint 됩니다 int, 기본값은 NULL입니다.fileidhint is int, with a default value of NULL.

[ @unload=] 언로드[ @unload= ] unload
백업으로 초기화를 완료한 후 테이프 백업 장치를 언로드할지 여부를 지정합니다.Specifies if a tape backup device should be unloaded after the initialization from back is complete. 언로드 됩니다 비트, 1의 기본값입니다.unload is bit, with a default value of 1. 1는 테이프를 언로드하도록 지정 합니다.1 specifies that the tape should be unloaded. 언로드 때만 사용 됩니다 backupdevicetype 테이프가 있습니다.unload is only used when backupdevicetype is tape.

[ @subscriptionlsn=] subscriptionlsn[ @subscriptionlsn= ] subscriptionlsn
구독에서 피어 투 피어 트랜잭션 복제 토폴로지에 노드 변경 내용을 배달하기 시작할 LSN(로그 시퀀스 번호)을 지정합니다.Specifies the log sequence number (LSN) at which a subscription should start delivering changes to a node in a peer-to-peer transactional replication topology. 사용 된 @sync_type initialize from lsn 모든 관련 트랜잭션이 새 노드에 복제 되도록의 값입니다.Used with a @sync_type value of initialize from lsn to make sure that all relevant transactions are replicated to a new node. 자세한 내용은 Peer-to-Peer Transactional Replication을 참조하세요.For more information, see Peer-to-Peer Transactional Replication.

[ @subscriptionstreams=] subscriptionstreams[ @subscriptionstreams= ] subscriptionstreams
단일 스레드를 사용할 때 나타나는 여러 가지 트랜잭션 특징을 유지하면서 변경 내용의 일괄 처리를 구독자에 대해 병렬로 적용하기 위해 배포 에이전트당 허용된 연결 수입니다.Is the number of connections allowed per Distribution Agent to apply batches of changes in parallel to a Subscriber, while maintaining many of the transactional characteristics present when using a single thread. subscriptionstreams 됩니다 tinyint, 기본값은 NULL입니다.subscriptionstreams is tinyint, with a default value of NULL. 1에서 64 사이의 값 범위가 지원됩니다.A range of values from 1 to 64 is supported. SQL ServerSQL Server 이외 구독자, Oracle 게시자 또는 피어 투 피어 구독의 경우 이 매개 변수가 지원되지 않습니다.This parameter is not supported for non- SQL ServerSQL Server Subscribers, Oracle Publishers or peer-to-peer subscriptions. 구독 스트림을 사용할 때마다 agent_id가 NULL로 설정된 상태로 추가 행이 msreplication_subscriptions 테이블(스트림당 1개)에 추가됩니다.Whenever subscription streams is used additional rows are added in the msreplication_subscriptions table (1 per stream) with an agent_id set to NULL.

참고

Subscriptionstreams는 Transact-SQLTransact-SQL을 제공하도록 구성된 아티클에 대해서는 작동하지 않습니다.Subscriptionstreams do not work for articles configured to deliver Transact-SQLTransact-SQL. subscriptionstreams를 사용하려면 대신 저장 프로시저 호출을 제공하도록 아티클을 구성하십시오.To use subscriptionstreams, configure articles to deliver stored procedure calls instead.

[ @subscriber_type=] subscriber_type[ @subscriber_type=] subscriber_type
구독자의 유형입니다.Is the type of Subscriber. subscriber_type 됩니다 tinyint, 이며 다음이 값 중 하나일 수 있습니다.subscriber_type is tinyint, and can be one of these values.

Value DescriptionDescription
0(기본값)0 (default) SQL ServerSQL Server 구독자 Subscriber
11 ODBC 데이터 원본 서버ODBC data source server
22 MicrosoftMicrosoft Jet 데이터베이스 Jet database
33 OLE DB 공급자OLE DB provider

[ @memory_optimized=] 메모리 액세스에 최적화[ @memory_optimized=] memory_optimized
구독 메모리 액세스에 최적화 된 테이블을 지원함을 나타냅니다.Indicates that the subscription supports memory optimized tables. memory_optimized 됩니다 비트, 1 (구독 메모리 액세스에 최적화 된 테이블에서 지원) true와 같습니다.memory_optimized is bit, where 1 equals true (the subscription supports memory optimized tables).

반환 코드 값Return Code Values

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

RemarksRemarks

sp_addsubscription은 스냅숏 복제 및 트랜잭션 복제에 사용됩니다.sp_addsubscription is used in snapshot replication and transactional replication.

sysadmin 고정 서버 역할의 멤버가 밀어넣기 구독을 만들기 위해 sp_addsubscription을 실행할 경우 배포 에이전트 작업이 암시적으로 생성되어 SQL Server 에이전트 서비스 계정에서 실행됩니다.When sp_addsubscription is executed by a member of the sysadmin fixed server role to create a push subscription, the Distribution Agent job is implicitly created and runs under the SQL Server Agent service account. 실행 하는 것이 좋습니다 sp_addpushsubscription_agent 계정의 다른 에이전트 특정 Windows에 대 한 자격 증명을 지정 하 고 @job_login 고 @job_password입니다.We recommend that you execute sp_addpushsubscription_agent and specify the credentials of a different, agent-specific Windows account for @job_login and @job_password. 자세한 내용은 복제 에이전트 보안 모델을 참조하세요.For more information, see Replication Agent Security Model.

sp_addsubscription은 ODBC 및 OLE DB 구독자가 다음과 같은 게시에 액세스하는 것을 막습니다.sp_addsubscription prevents ODBC and OLE DB Subscribers access to publications that:

  • 네이티브를 사용 하 여 만든 sync_method 호출에 sp_addpublication합니다.Were created with the native sync_method in the call to sp_addpublication.

  • 아티클이 있는 게시에 추가 된 합니다 sp_addarticle 저장 프로시저를 한 pre_creation_cmd 매개 변수 값이 3 (잘라내기).Contain articles that were added to the publication with the sp_addarticle stored procedure that had a pre_creation_cmd parameter value of 3 (truncate).

  • 설정 하려고 update_mode tran 동기화 합니다.Attempt to set update_mode to sync tran.

  • 매개 변수가 있는 문을 사용하도록 구성된 아티클이 있는 게시Have an article configured to use parameterized statements.

    또한 게시에 하는 경우에 allow_queued_tran 옵션이 true (게시자에서 적용할 수 있을 때까지 구독자에서 변경 내용의 지연을 사용 하도록 설정)로 설정 로아티클타임스탬프열스크립팅타임 스탬프, 해당 열의 변경 내용이 구독자에 전송 됩니다.In addition, if a publication has the allow_queued_tran option set to true (which enables queuing of changes at the Subscriber until they can be applied at the Publisher), the timestamp column in an article is scripted out as timestamp, and changes on that column are sent to the Subscriber. 구독자는 타임스탬프 열 값을 생성하고 업데이트합니다.The Subscriber generates and updates the timestamp column value. ODBC 또는 OLE DB 구독자의 경우 sp_addsubscription 있는 게시를 구독 하려고 하는 경우이 실패 allow_queued_tran 타임 스탬프 열을 사용 하 여 아티클과 true로 설정 합니다.For an ODBC or OLE DB Subscriber, sp_addsubscription fails if an attempt is made to subscribe to a publication that has allow_queued_tran set to true and articles with timestamp columns in it.

    구독이 DTS 패키지를 사용 하지 않는 경우로 설정 된 게시를 구독할 수 없습니다 것 allow_transformable_subscriptions합니다.If a subscription does not use a DTS package, it cannot subscribe to a publication that is set to allow_transformable_subscriptions. 게시의 테이블을 DTS 구독과 DTS가 아닌 구독 양쪽 모두에 복제해야 할 경우 각 구독 유형당 하나씩 두 개의 게시를 만들어야 합니다.If the table from the publication needs to be replicated to both a DTS subscription and non-DTS subscription, two separate publications have to be created: one for each type of subscription.

    sync_type 옵션 replication support only, initialize with backup또는 initialize from lsn을 선택할 때는 설치 스크립트가 배포 데이터베이스에 기록되도록 sp_addsubscription을 실행한 후 로그 판독기 에이전트를 실행해야 합니다.When selecting the sync_type options replication support only, initialize with backup, or initialize from lsn, the log reader agent must run after executing sp_addsubscription, so that the set-up scripts are written to the distribution database. 로그 판독기 에이전트는 sysadmin 고정 서버 역할의 멤버인 계정으로 실행되어야 합니다.The log reader agent must be running under an account that is a member of the sysadmin fixed server role. sync_type 옵션이 Automatic으로 설정된 경우 특별한 로그 판독기 에이전트 동작이 필요하지 않습니다.When the sync_type option is set to Automatic, no special log reader agent actions are required.

사용 권한Permissions

sysadmin 고정 서버 역할 또는 db_owner 고정 데이터베이스 역할의 멤버만 sp_addsubscription을 실행할 수 있습니다.Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_addsubscription. 끌어오기 구독의 경우 게시 액세스 목록의 로그인이 있는 사용자는 sp_addsubscription을 실행할 수 있습니다.For pull subscriptions, users with logins in the publication access list can execute sp_addsubscription.

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

DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
SET @publication = N'AdvWorksProductTran';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorks2012Replica';

--Add a push subscription to a transactional publication.
USE [AdventureWorks2012]
EXEC sp_addsubscription 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @destination_db = @subscriptionDB, 
  @subscription_type = N'push';

--Add an agent job to synchronize the push subscription.
EXEC sp_addpushsubscription_agent 
  @publication = @publication, 
  @subscriber = @subscriber, 
  @subscriber_db = @subscriptionDB, 
  @job_login = $(Login), 
  @job_password = $(Password);
GO

관련 항목See Also

ssSDSFull Create a Push Subscription
SQL Server 이외 구독자에 대한 구독 만들기 Create a Subscription for a Non-SQL Server Subscriber
Subscribe to Publications Subscribe to Publications
sp_addpushsubscription_agent (TRANSACT-SQL) sp_addpushsubscription_agent (Transact-SQL)
sp_changesubstatus (TRANSACT-SQL) sp_changesubstatus (Transact-SQL)
sp_dropsubscription (TRANSACT-SQL) sp_dropsubscription (Transact-SQL)
sp_helpsubscription (TRANSACT-SQL) sp_helpsubscription (Transact-SQL)
시스템 저장 프로시저(Transact-SQL)System Stored Procedures (Transact-SQL)