Share via


sp_addsubscription (Transact-SQL)

Yayın aboneliği ekler ve abone durumunu ayarlar.Bu saklı yordam, yayında Veritabanı yayımcısına en yürütülür.

Topic link iconTransact-SQL sözdizimi kuralları

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 ]

Bağımsız değişkenler

  • [yayın =] ' publication'
    Is the name of the publication.publication is sysname, with no default.

  • [makale =] ' article'
    Is the article to which the publication is subscribed.article is sysname, with a default of all.Tüm, abonelik, yayındaki tüm makaleleri eklenir.Yalnızca tüm değerleri ve null Oracle Yayımcılar için desteklenir.

  • [abone =] ' subscriber'
    Is the name of the Subscriber.subscriber is sysname, with a default of NULL.

  • [destination_db =] ' destination_db'
    Is the name of the destination database in which to place replicated data.destination_db is sysname, with a default of NULL.NULL,destination_dbolarak ayarlanırsa adın yayın veritabanı.Oracle Yayımcılar içindestination_dbbelirtilmelidir.İçin bir non-SQL Server abone, hedefin (varsayılan) değeri için belirtmedestination_db.

  • [sync_type =] ' sync_type'
    Is the subscription synchronization type.sync_type is nvarchar(255), and can be one of the following values:

    Değer

    Açıklama

    Yok

    Zaten abone olan yayımlanan tablolar için ilk veri ve şema

    NoteNote:
    Bu seçenek kalmıştır.Çoğaltma desteği yalnızca kullanın.

    Otomatik (varsayılan)

    Şema ve yayımlanan tablolar için ilk veri transfer için abone ilk.

    yalnızca çoğaltma desteği

    Uygunsa, abone en makale özel saklı yordamlarda ve güncelleştirme abonelikleri destekleyen Tetikleyicileri otomatik oluşturma sağlar.Abone önceden yayımlanan tablolar için ilk veri ve şema olduğunu varsayar.Bir eşler arası işlem çoğaltma topolojisi yapılandırma, topoloji tüm düğümler veri aynı olduğundan emin olun.Daha fazla bilgi için bkz:Nasıl Yapılır: Eşler işlemsel kopyalama (çoğaltma Transact-SQL programlama) yapılandırın..

    SQL Server yayın abonelik için desteklenmiyor.

    ile başlatmak yedek

    Şema ve yayımlanan tablolar için ilk veri bir yedek kopyadan alınan yayın veritabanı.Abone yayın veritabanının yedeğini erişimi olduğunu varsayar.Yedek ve ortam türü için yedekleme konumu olarak belirtilmişbackupdevicenamevebackupdevicetype.Bu seçenek kullanıldığında, işlem eşler arası çoğaltma topolojisi yapılandırma sırasında quiesced olması gerekmez.

    SQL Server yayın abonelik için desteklenmiyor.

    SSN başlatılamıyor

    Bir düğüm için bir eşler arası işlem çoğaltma topolojisi eklerken kullanılır.@ Subscriptionlsn ile ilgili tüm hareketler için yeni bir düğüm çoğaltılır emin olmak için kullanılır.Abone önceden yayımlanan tablolar için ilk veri ve şema olduğunu varsayar.Daha fazla bilgi için bkz:Nasıl Yapılır: Eşler işlemsel kopyalama (çoğaltma Transact-SQL programlama) yapılandırın..

    Not

    sistem tabloları ve verileri her zaman transfer edilir.

  • [status =] ' status'
    Is the subscription status.status is sysname, with a default value of NULL.Bu parametre olmadığında açıkça küme, çoğaltma otomatik olarak küme s, bu değerlerden biri.

    Değer

    Açıklama

    Etkin

    Abonelik başlatıldı ve değişiklikleri kabul etmek hazır olur.Bu seçenek küme, değerisync_typeyok, başlatma yedek veya kopyalama destek olur.

    abone

    Abonelik başlatılması gerekiyor.Bu seçenek küme, değerisync_typeolan otomatik.

  • [subscription_type =] ' subscription_type'
    Is the type of subscription.subscription_type is nvarchar(4), with a default of push.Olabilir gönderme veya çekme.The Distribution Agents of push subscriptions reside at the Distributor, and the Distribution Agents of pull subscriptions reside at the Subscriber.subscription_type can be pull to create a named pull subscription that is known to the Publisher.Daha fazla bilgi için bkz:Yayın için abone olma.

    Not

    Anonim aboneliği gerekmez kullanın saklı bir yordamı bu.

  • [update_mode =] ' update_mode'
    Is the type of update.update_mode is nvarchar(30), and can be one of these values.

    Değer

    Açıklama

    tek (varsayılan) okuyun

    Abonelik salt okunur özelliklidir.Yayımcıya abone sırasında değişiklikleri gönderilir.

    Eşitleme tran

    Etkinleştirir, anında güncelleme abonelikleri için destekler.Oracle Yayımcılar için desteklenmiyor.

    Kuyruğa atılmış tran

    Abonelik için sıraya güncelleştirme sağlar.Veri değişiklikleri Abone tarafında yapılan, bir sırada depolanan ve ardından yayılma için Yayımcı.Oracle Yayımcılar için desteklenmiyor.

    yerine çalışma

    Güncelleştirme hemen yerine çalışma olarak kuyruğa alınmış güncelleştirme aboneliği sağlar.Veri değişiklikleri Abone tarafında yapılan ve yayımcıya hemen yayılır.Yayımcı ve abone bağlı değilseniz, abone ve Publisher yeniden kadar Abone tarafında yapılan veri değişiklikleri bir sırada depolanan, güncelleştirme modunu değiştirebilirsiniz.Oracle Yayımcılar için desteklenmiyor.

    sıradaki yerine çalışma

    Kuyruğa Alınmış Güncelleştirme Aboneliği olarak abonelik hemen güncelleştirme moduna değiştirme olanağı sağlar.Veri değişiklikleri Abone tarafında yapılan ve olması abone ve Yayımcı'ın arasında bir bağlantı kurulana kadar bir sırada depolanan.Sürekli bir bağlantı kurulduğunda güncelleştirme modu, anında güncelleme için değiştirilebilir.Oracle Yayımcılar için desteklenmiyor.

    Not değerleri, eşitleme tran ve sıraya alınan tran, abone için yayın veren verilmez DTS.

  • [loopback_detection =] ' loopback_detection'
    Specifies if the Distribution Agent sends transactions that originated at the Subscriber back to the Subscriber.loopback_detection is nvarchar(5), and can be one of these values.

    Değer

    Açıklama

    TRUE

    Dağıtım Aracısı yeniden abone için abone sırasında oluşturulan hareketlerin göndermez.Çift yönlü işlemsel kopyalama ile birlikte kullanılır.Daha fazla bilgi için bkz:Çift yönlü işlem çoğaltması.

    yanlış

    Dağıtım Aracısı yeniden abone için abone sırasında oluşturulan hareketlerin gönderir.

    NULL(default)

    Otomatik olarak küme için true birSQL ServerAbone ve yanlış bir olmayan için-SQL ServerAbone.

  • [frequency_type =]frequency_type
    Is the frequency with which to schedule the distribution task.frequency_type is int, and can be one of these values.

    Değer

    Açıklama

    1

    saat

    2

    İsteğe bağlı

    4

    Günlük

    8

    Haftalık

    16

    Aylık

    32

    Aylık göreli

    64 (varsayılan)

    Otomatik başlatma

    128

    Yinelenen

  • [frequency_interval =]frequency_interval
    Is the value to apply to the frequency set by frequency_type.frequency_interval is int, with a default of NULL.

  • [ @frequency\_relative\_interval=\] frequency_relative_interval
    Distribution Agent tarihidir.This parameter is used when frequency_type is set to 32 (monthly relative).frequency_relative_interval is int, and can be one of these values.

    Değer

    Açıklama

    1

    First

    2

    İkinci

    4

    Üçüncü

    8

    Dördüncü

    16

    Last

    NULL(default)

     

  • [frequency_recurrence_factor =]frequency_recurrence_factor
    Is the recurrence factor used by frequency_type.frequency_recurrence_factor is int, with a default of NULL.

  • [ @frequency\_subday=\] frequency_subday
    Is how often, in minutes, to reschedule during the defined period.frequency_subday is int, and can be one of these values.

    Değer

    Açıklama

    1

    Bir kez

    2

    İkinci

    4

    Dakika

    8

    Saat

    null

     

  • [ @frequency\_subday\_interval=\] frequency_subday_interval
    Is the interval for frequency_subday.frequency_subday_interval is int, with a default of NULL.

  • [ @active\_start\_time\_of\_day=\] active_start_time_of_day
    Is the time of day when the Distribution Agent is first scheduled, formatted as HHMMSS.active_start_time_of_day is int, with a default of NULL.

  • [active_end_time_of_day =]active_end_time_of_day
    Is the time of day when the Distribution Agent stops being scheduled, formatted as HHMMSS.active_end_time_of_day is int, with a default of NULL.

  • [ @active\_start\_date=\] active_start_date
    Is the date when the Distribution Agent is first scheduled, formatted as YYYYMMDD.active_start_date is int, with a default of NULL.

  • [ @active\_end\_date=\] active_end_date
    Is the date when the Distribution Agent stops being scheduled, formatted as YYYYMMDD.active_end_date is int, with a default of NULL.

  • [optional_command_line =] ' optional_command_line'
    Is the optional command prompt to execute.optional_command_line is nvarchar(4000), with a default of NULL.

  • [@ ayrılmış =] ' reserved'
    Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

  • [enabled_for_syncmgr =] ' enabled_for_syncmgr'
    Is whether the subscription can be synchronized through Microsoft Windows Synchronization Manager.enabled_for_syncmgr is nvarchar(5), with a default of FALSE.Yanlışsa, abonelik Windows Eşitleme Yöneticisi ile kayıtlı değil.Doğru abonelik Windows Eşitleme Yöneticisi ile kayıtlı ve eşzamanlı başlatmadanSQL Server Management Studio.Oracle Yayımcılar için desteklenmiyor.

  • [offloadagent =] ' remote_agent_activation'
    Specifies that the agent can be activated remotely.remote_agent_activation is bit with a default of 0.

    Not

    Bu parametre onaylanmaz ve yalnızca komut dosyaları geriye dönük uyumluluk için korunur.

  • [offloadserver =] ' remote_agent_server_name'
    Specifies the network name of server to be used for remote activation.remote_agent_server_nameis sysname, with a default of NULL.

  • [dts_package_name =] ' dts_package_name'
    Specifies the name of the Data Transformation Services (DTS) package.dts_package_name is a sysname with a default of NULL.Örneğin, DTSPub_Package, paket için parametre gibi@dts_package_name = N'DTSPub_Package'.Bu parametre, İtme abonelikleri için kullanılabilir.DTS paket bilgileri için çekme temelli abonelik eklemek için sp_addpullsubscription_agent kullanın.

  • [dts_package_password =] ' dts_package_password'
    Specifies the password on the package, if there is one.dts_package_password is sysname with a default of NULL.

    Not

    Gereken belirtirseniz paroladts_package_namebelirtilen.

  • [dts_package_location =] ' dts_package_location'
    Specifies the package location.dts_package_location is a nvarchar(12), with a default of DISTRIBUTOR.Paket konumu dağıtımcı ya da abone olabilir.

  • [distribution_job_name =] ' distribution_job_name'
    Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.

  • [yayımcı =] ' publisher'
    Specifies a non-Microsoft SQL Server Publisher.publisher is sysname, with a default of NULL.

    Not

    publisheriçin belirtilmemelidir birSQL ServerYayımcı.

  • [backupdevicetype =] ' backupdevicetype'
    Specifies the type of backup device used when initializing a Subscriber from a backup.backupdevicetype is nvarchar(20), and can be one of these values:

    Değer

    Açıklama

    mantıksal (varsayılan)

    yedek aygıtı mantıksal bir aygıttır.

    disk

    yedek aygıtı, disk sürücüsüdür.

    Teyp

    yedek aygıtı bir teyp sürücüsü değil.

    backupdevicetype is only used when sync_methodis set to initialize_with_backup.

  • [backupdevicename =] ' backupdevicename'
    Specifies the name of the device used when initializing a Subscriber from a backup.backupdevicename is nvarchar(1000), with a default of NULL.

  • [mediapassword =] ' mediapassword'
    Specifies a password for the media set if a password was set when the media was formatted.mediapassword is sysname, with a default value of NULL.

    Not

    This feature will 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.

  • [parola =] ' password'
    Specifies a password for the backup if a password was set when the backup was created.passwordis sysname, with a default value of NULL.

  • [fileidhint =]fileidhint
    Identifies an ordinal value of the backup set to be restored.fileidhint is int, with a default value of NULL.

  • [kaldırma =]unload
    Specifies if a tape backup device should be unloaded after the initialization from back is complete.unload is bit, with a default value of 1.1 specifies that the tape should be unloaded.unload is only used when backupdevicetype is tape.

  • [subscriptionlsn =]subscriptionlsn
    Bir düğüme bir eşler arası işlem çoğaltma topolojisi değişiklikleri teslim etme, bir abonelik başlayacağı günlük sıra numarası (SSN) belirtir.@ Sync_type SSN gelen başlatma değeri olan tüm ilgili hareketler için yeni bir düğüm çoğaltılır emin olmak için kullanılır.Daha fazla bilgi için bkz:Nasıl Yapılır: Eşler işlemsel kopyalama (çoğaltma Transact-SQL programlama) yapılandırın..

  • [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 is tinyint, with a default value of NULL.64 1 Değer aralık desteklenir.Bu parametre için desteklenen non-SQL ServerAboneler, Oracle yayımcılar veya eşler arası abonelik.

  • [subscriber_type =]subscriber_type
    Is the type of Subscriber.subscriber_type is tinyint, and can be one of these values.

    Değer

    Açıklama

    0 (varsayılan)

    SQL Server Abone

    1

    ODBC veri kaynağı sunucu

    2

    Microsoft Jet veritabanı

    3

    OLE DB sağlayıcı

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Remarks

sp_addsubscription anlık görüntü çoğaltması çoğaltması ve işlemsel kopyalama için kullanılır.

Ne zaman sp_addsubscription yürütüldüğünde sysadmin üyesi tarafından sabit sunucu rolü gönderme temelli abonelik oluşturmak için Distribution Agent işi örtük olarak oluşturulur ve SQL Server Agent hizmet hesabı altında çalışır.Öneririz, yürütmeksp_addpushsubscription_agent @ job_login ve @ job_password. için farklı, özel aracı bir Windows hesabı kimlik bilgileri bilgilerini belirtin. Daha fazla bilgi için bkz:Çoğaltma aracısı güvenlik modeli.

sp_addsubscription engeller ODBC ve OLE DB aboneleri erişmek için yayınlar:

  • Yerel ile oluşturulansync_methodçağrısındasp_addpublication.

  • Eklenmiş olan makaleleri içeren yayın ilesp_addarticle saklı yordam olan bir pre_creation_cmdparametre değeri (kesme) 3.

  • küme girişimiupdate_modeeşitlenecek tran.

  • Parametreli ifadeleri kullanmak üzere yapılandırılmış bir makale vardır.

Yayın varsa, ayrıca,allow_queued_transeçeneği küme komut (Yayımcı tarafında uygulanabilir kadar hangi sağlar abone adresinde değişiklik sıralama) true olarak bir makale zaman damgası sütun dışında olarak dosyasıtimestamp, ve bu sütunda değişiklik gönderilir abone.Abone oluşturur ve zaman damgası sütun değerini güncelleştirir.İçin bir ODBC veya OLE DB abone sp_addsubscription başarısız olursa, bir abone olmak için yapılan bir yayın olanallow_queued_trandoğru ve zaman damgası sütunları it. makalelerle ayarlayın

abone olmak bir DTS paket kullanıyorsanız, bunun için abone olmak olamazsınız bir yayın kümeallow_transformable_subscriptions.Yayın tablosundan bir DTS abonelik hem olmayan DTS abonelik için çoaltılması gereken, iki ayrı yayın oluşturulacak sahip: bir abonelik. her tür

İzinler

Yalnızca db_owner sabit veritabanı rolü ve sysadmin sabit sunucu rolünün üyeleri için yürütmek sp_addsubscription.Çekme abonelikleri için yayın erişim listesinde oturumu olan kullanıcılar için yürütmek sp_addsubscription.