sp_addmergesubscription (Transact-sql)
İtme veya çekme birleştirme abonelik oluşturur. Bu saklı yordam, yayını veritabanı üzerinde yayımcı adresindeki yürütülür.
Transact-SQL Sözdizim Kuralları
Sözdizimi
sp_addmergesubscription [ @publication= ] 'publication'
[ , [ @subscriber = ] 'subscriber' ]
[ , [ @subscriber_db= ] 'subscriber_db' ]
[ , [ @subscription_type= ] 'subscription_type' ]
[ , [ @subscriber_type= ] 'subscriber_type' ]
[ , [ @subscription_priority= ] subscription_priority ]
[ , [ @sync_type= ] 'sync_type' ]
[ , [ @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' ]
[ , [ @description= ] 'description' ]
[ , [ @enabled_for_syncmgr= ] 'enabled_for_syncmgr' ]
[ , [ @offloadagent= ] remote_agent_activation]
[ , [ @offloadserver= ] 'remote_agent_server_name' ]
[ , [ @use_interactive_resolver= ] 'use_interactive_resolver' ]
[ , [ @merge_job_name= ] 'merge_job_name' ]
[ , [ @hostname = ] 'hostname'
Bağımsız değişkenler
@ publication ='publication'
Yayını addır. publicationise sysname, hiçbir varsayılan ile. Basım önceden mevcut olmalıdır.@ abone ='subscriber'
Abone addır. subscriberise sysname, null varsayılan.@ subscriber_db ='subscriber_db'
Abonelik veritabanı adıdır. subscriber_db* *ise sysname, null varsayılan.@ subscription_type ='subscription_type'
Abonelik türü olduğunu. subscription_type* *ise nvarchar(15), null varsayılan. Eğer push, itme abonelik eklenir ve Birleştirme Aracısı dağıtımcı eklenir. Eğer pull, bir çekme abonelik Birleştirme Aracısı dağıtımcı eklemeden eklenir.[!NOT]
Anonim abonelikleri bu saklı yordam kullanmanız gerekmez.
@ subscriber_type ='subscriber_type'
Abone türüdür. subscriber_typeise nvarchar(15), ve aşağıdaki değerlerden biri olabilir.Değer
Açıklama
local(varsayılan)
Publisher yalnızca bilinen abone.
global
Tüm sunucular için bilinen abone.
İçinde SQL Server 2005ve sonraki sürümleri, Yerel Abonelikleri istemci abonelikleri adlandırılır ve küresel abonelikleri sunucu abonelikleri adlandırılır
**@ subscription_priority =*subscription_priority
Abonelik önceliği gösteren sayı. subscription_priority *ise real, null varsayılan. Yerel ve anonim abonelikleri için 0.0 önceliktir. Küresel abonelikleri için az 100.0 önceliği olmalıdır.@sync_type='sync_type'
Abonelik eşitleme türüdür. sync_typeise nvarchar(15), varsayılan automatic. Can be automatic or none. Eğer automatic, şema ve yayımlanmış tablolar için ilk veri için abone ilk transfer. Eğer none, abone zaten şema ve yayımlanmış tablolar için ilk veri varsayılır. Sistem tablolarını ve veri her zaman aktarılır.[!NOT]
İçin bir değer belirterek değil öneririz none.
**@ frequency_type =**frequency_type
Birleştirme aracı çalıştırıldığında gösteren bir değer. frequency_typeise int, ve aşağıdaki değerlerden biri olabilir.Değer
Açıklama
1
Bir kez
4
Günlük
8
Haftalık
10
Aylık
20
Frekans aralığı göreli olarak aylık
40
Ne zaman SQL ServerAgent başlatır
NULL (varsayılan)
**@ frequency_interval =**frequency_interval
Gün veya gün Birleştirme Aracısı çalıştırır. frequency_intervalise int, ve aşağıdaki değerlerden biri olabilir.Değer
Açıklama
1
Pazar
2
Pazartesi
3
Salı
4
Çarşamba
5
Perşembe
6
Cuma
7
Cumartesi
8
Gün
9
Hafta içi
10
Hafta sonunu
NULL (varsayılan)
**@ frequency_relative_interval =**frequency_relative_interval
Frekans aralığı zamanlanan birleştirme geçtiği her ay olduğunu. frequency_relative_intervalise int, ve bu değerlerden birini olabilir.Değer
Açıklama
1
First
2
İkinci
4
Üçüncü
8
Dördüncü
16
Last
NULL (varsayılan)
**@ frequency_recurrence_factor =*frequency_recurrence_factor
Tarafından kullanılan yineleme faktörü olduğunu frequency_type. frequency_recurrence_factor *ise int, null varsayılan.**@ frequency_subday =**frequency_subday
Birim için frequency_subday_interval. frequency_subdayise int, ve aşağıdaki değerlerden biri olabilir.Değer
Açıklama
1
Bir kez
2
İkinci
4
Dakika
8
Saat
NULL (varsayılan)
**@ frequency_subday_interval =**frequency_subday_interval
Frekans için frequency_subdayHer birleştirme arasında gerçekleşmesi için. frequency_subday_intervalise int, null varsayılan.**@ active_start_time_of_day =**active_start_time_of_day
Ne zaman birleştirme aracı ilk günün saati SSDDSS biçimlendirilmiş planlanmıştır. active_start_time_of_dayise int, null varsayılan.**@ active_end_time_of_day =**active_end_time_of_day
Birleştirme Aracısı durduğunda günün saati zamanlanmış SSDDSS biçimlendirilmiş. active_end_time_of_dayise int, null varsayılan.**@ active_start_date =**active_start_date
Ne zaman birleştirme aracı ilk tarih YYYYMMDD'nın biçimlendirilmiş planlanmıştır. active_start_dateise int, null varsayılan.**@ active_end_date =**active_end_date
Birleştirme Aracısı durduğunda tarih zamanlanmış YYYYMMDD'nın biçimlendirilmiş. active_end_dateise int, null varsayılan.@ optional_command_line ='optional_command_line'
İsteğe bağlı komut yürütmek için olduğunu. optional_command_line* *ise nvarchar(4000), null varsayılan. Bu parametre, çıkış yakalar ve bir dosyaya kaydeder bir komut eklemek veya bir konfigürasyon dosyası veya öznitelik belirtmek için kullanılır.@ description ='description'
Bu birleştirme abonelik kısa bir açıklaması bulunur. description* *ise nvarchar(255), null varsayılan. Bu değer tarafından Çoğaltma İzleyicisi'nde görüntülenen Kolay ad izlenen yayın abonelikleri sıralamak için kullanılan sütun.@ enabled_for_syncmgr ='enabled_for_syncmgr'
Abonelik üzerinden eşitlenebilir belirtir MicrosoftWindows Eşitleme Yöneticisi'nin. enabled_for_syncmgrise nvarchar(5), false varsayılan. Eğer false, abonelik Eşitleme Yöneticisi ile kayıtlı değil. Eğer true, abonelik Eşitleme Yöneticisi ile kayıtlı ve başlatmadan eşitlenebilir Microsoft SQL Server Management Studio.@ offloadagent = remote_agent_activation
Aracı uzaktan etkinleştirilebilir belirtir. remote_agent_activationise bitvarsayılan ile 0.[!NOT]
Bu parametre onaylanmaz ve yalnızca komut dosyaları geriye dönük uyumluluk için korunur.
@ offloadserver = 'remote_agent_server_name'
Uzaktaki aracı etkinleştirme için kullanılan sunucu ağ adını belirtir. remote_agent_server_name* *ise sysname, null varsayılan.@ use_interactive_resolver = 'use_interactive_resolver'
Tüm makaleler için etkileşimli çözümleme sağlayan etkileşimli olarak çözümlenmesi çakışmaları sağlar. use_interactive_resolverise nvarchar(5), false varsayılan.@ merge_job_name = 'merge_job_name'
@merge\_job\_nameParametre önerilmiyor ve ayarlanamaz. merge_job_nameise sysname, null varsayılan.@hostname= ] 'hostname'
Tarafından döndürülen değeri geçersiz kılar host_name zaman bu işlev parametreli filtre where yan tümcesinde kullanılır. Hostname ise sysname, null varsayılan.Önemli Performansı düşürmemek için işlev Parametreli satır filtre yan tümceleri, sütun adları gibi uyguladığınız değil öneririz LEFT([MyColumn]) = SUSER_SNAME(). Eğer sen kullanma host_name bir filtre yan tümcesi ve geçersiz değer veri türleri kullanarak dönüştürmek gerekli olabilir DÖNÜŞTÜRMEK. Bu durum için en iyi yöntemler hakkında daha fazla bilgi için bkz: Bölüm "host_name() değeri geçersiz kılma" konudaki Parametreli satır süzgeçleri.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Açıklamalar
sp_addmergesubscription birleştirme çoğaltması kullanılır.
Ne zaman sp_addmergesubscription bir üyesi tarafından yürütülen sysadmin sabit sunucu rolü bir itme abonelik oluşturmak için Birleştirme Aracısı iş örtük olarak oluşturulur ve altında çalışan SQL ServerAgent hizmet hesabı. Eğer yürütme öneririz sp_addmergepushsubscription_agent ve farklı, ajan özel bir Windows hesabı için kimlik bilgilerini belirtin @ job_login ve @ job_password. Daha fazla bilgi için, bkz. Çoğaltma aracısı güvenlik modeli.
Örnek
-- 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;
DECLARE @hostname AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @subscriber = $(SubServer);
SET @subscriptionDB = N'AdventureWorksReplica';
SET @hostname = N'adventure-works\david8'
-- Add a push subscription to a merge publication.
USE [AdventureWorks2012];
EXEC sp_addmergesubscription
@publication = @publication,
@subscriber = @subscriber,
@subscriber_db = @subscriptionDB,
@subscription_type = N'push',
@hostname = @hostname;
--Add an agent job to synchronize the push subscription.
EXEC sp_addmergepushsubscription_agent
@publication = @publication,
@subscriber = @subscriber,
@subscriber_db = @subscriptionDB,
@job_login = $(Login),
@job_password = $(Password);
GO
İzinler
Yalnızca üyeleri sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü yürütebilirsiniz sp_addmergesubscription.
Ayrıca bkz.
Başvuru
sp_changemergesubscription (Transact-sql)
sp_dropmergesubscription (Transact-sql)
sp_helpmergesubscription (Transact-sql)