sp_addmergepullsubscription_agent (Transact-sql)
Çekme abonelik birleştirme yayınına eşitleme zamanlamak için kullanılan yeni bir Aracısı iş ekler. Bu saklı yordam, abonelik veritabanı abone adresindeki yürütülür.
Transact-SQL Sözdizim Kuralları
Sözdizimi
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' ]
Bağımsız değişkenler
@name = 'name'
Aracının adıdır. nameise sysname, null varsayılan.@ publisher = 'publisher'
Publisher sunucunun adıdır. publisherise sysname, hiçbir varsayılan ile.@ publisher_db = 'publisher_db'
Publisher veritabanı adıdır. publisher_dbise sysname, hiçbir varsayılan ile.@ publication = 'publication'
Yayını addır. publicationise sysname, hiçbir varsayılan ile.@ publisher_security_mode = publisher_security_mode
Bir Publisher eşitlerken bağlanırken kullanılacak güvenlik modudur. publisher_security_modeise int, 1 varsayılan. Eğer 0, belirtir SQL Serverkimlik. Eğer 1, Windows kimlik doğrulamasını belirtir.Güvenlik Notu Mümkünse Windows Kimlik Doğrulaması kullanın.
publisher_login @ = 'publisher_login'
Bir Publisher eşitlerken bağlanırken kullanılacak oturum açma 's. publisher_login ise sysname, null varsayılan.publisher_password @ = 'publisher_password'
Yayımcı için bağlanırken kullanılan parolayı. publisher_passwordise sysname, null varsayılan.Güvenlik Notu Boş parola kullanmayın. Güçlü bir parola kullanın.Mümkün olduğunda, zamanında güvenlik kimlik bilgilerini girmesini ister. Bir komut dosyasında kimlik bilgileri saklamanız gerekir, yetkisiz erişimi önlemek için dosyayı güvenli gerekir.
@ publisher_encrypted_password = publisher_encrypted_password
Ayar publisher_encrypted_passwordartık desteklenmiyor. Bu ayarlama girişiminde bitparametresi 1 bir hata neden olur.@ abone = 'subscriber'
Abone addır. subscriberise sysname, null varsayılan.@ subscriber_db = 'subscriber_db'
Abonelik veritabanı adıdır. subscriber_dbise sysname, null varsayılan.subscriber_security_mode @ = subscriber_security_mode
Bir abone eşitlerken bağlanırken kullanılacak güvenlik modudur. subscriber_security_modeise int, 1 varsayılan. Eğer 0, belirtir SQL Serverkimlik. Eğer 1, Windows kimlik doğrulamasını belirtir.[!NOT]
Bu parametre onaylanmaz ve komut dosyaları geriye dönük uyumluluk için korunur. Birleştirme aracı her zaman Windows kimlik doğrulaması kullanarak yerel abone bağlanır. Bu parametre için bir değer belirtilirse, bir uyarı iletisi döndürülür, ancak değeri yoksayılır.
@ subscriber_login = 'subscriber_login'
Bir abone eşitlerken bağlanırken kullanılacak abone oturum açma 's. subscriber_loginEğer gerekli ise subscriber_security_mode ayarı 0. subscriber_loginise sysname, null varsayılan.[!NOT]
Bu parametre onaylanmaz ve komut dosyaları geriye dönük uyumluluk için korunur. Bu parametre için bir değer belirtilirse, bir uyarı iletisi döndürülür, ancak değeri yoksayılır.
@ subscriber_password = 'subscriber_password'
Abone parolası SQL Serverkimlik. subscriber_passwordEğer gerekli ise subscriber_security_modeayarı 0. subscriber_passwordise sysname, null varsayılan.[!NOT]
Bu parametre onaylanmaz ve komut dosyaları geriye dönük uyumluluk için korunur. Bu parametre için bir değer belirtilirse, bir uyarı iletisi döndürülür, ancak değeri yoksayılır.
Dağıtıcı = 'distributor'
Dağıtımcı adıdır. distributorise sysname, varsayılan publisher; Yani yayımcı dağıtımcı da devam eder.@ distributor_security_mode = distributor_security_mode
Bir dağıtıcı eşitlerken bağlanırken kullanılacak güvenlik modudur. distributor_security_modeise int, 0 varsayılan. 0 belirtir SQL Serverkimlik. 1 Windows kimlik doğrulamasını belirtir.Güvenlik Notu Mümkünse Windows Kimlik Doğrulaması kullanın.
@ distributor_login = 'distributor_login'
Bir dağıtıcı eşitlerken bağlanırken kullanılacak dağıtımcı oturumu olduğunu. distributor_loginEğer gerekli ise distributor_security_modeayarı 0. distributor_loginise sysname, null varsayılan.distributor_password @ = 'distributor_password'
Dağıtıcı paroladır. distributor_passwordEğer gerekli ise distributor_security_modeayarı 0. distributor_passwordise sysname, null varsayılan.Güvenlik Notu Boş parola kullanmayın. Güçlü bir parola kullanın.Mümkün olduğunda, zamanında güvenlik kimlik bilgilerini girmesini ister. Bir komut dosyasında kimlik bilgileri saklamanız gerekir, yetkisiz erişimi önlemek için dosyayı güvenli gerekir.
@ encrypted_password = encrypted_password
Ayar encrypted_passwordartık desteklenmiyor. Bu ayarlama girişiminde bitparametresi 1 bir hata neden olur.@ frequency_type = frequency_type
Birleştirme Aracısı zamanlama kullanılacak sıklığıdır. frequency_typeise int, ve aşağıdaki değerlerden biri olabilir.Değer
Açıklama
1
Bir kez
2
İsteğe bağlı
4
Günlük
8
Haftalık
16
Aylık
32
Aylık göreli
64
Otomatik başlatma
128
Yinelenen
NULL (varsayılan)
[!NOT]
Bir değer belirterek 64 Birleştirme Aracısı sürekli modunda çalışmasına neden olur. Bu ayara karşılık -sürekli Aracısı parametresi. Daha fazla bilgi için, bkz. Birleştirme çoğaltma aracısı.
@ frequency_interval = frequency_interval
Gün veya gün Birleştirme Aracısı çalıştırır. frequency_intervalise int, ve bu değerlerden birini 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
Birleştirme Aracısı tarihidir. Bu parametre zaman frequency_typeayarı 32 (aylık göreli). 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_factorise int, null varsayılan.@ frequency_subday = frequency_subday
Tanımlanan dönem sırasında sık sık yeniden zamanlamak nasıl olduğunu. frequency_subdayise int, ve bu değerlerden birini olabilir.Değer
Açıklama
1
Bir kez
2
İkinci
4
Dakika
8
Saat
NULL (varsayılan)
@ frequency_subday_interval = frequency_subday_interval
Aralık için frequency_subday. 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'
Birleştirme Aracısı'na sağlanan isteğe bağlı bir komut istemi olur. optional_command_lineise nvarchar(255), varsayılan ' '. Birleştirme Aracısı için ek parametreler için varsayılan sorgu zaman aşımı değeri artar aşağıdaki örnekte olduğu gibi sağlamak için kullanılan 600saniye:@optional_command_line = N'-QueryTimeOut 600' @optional_command_line = N'-QueryTimeOut 600'
@ merge_jobid = merge_jobid
Çıkış parametresi için iş kimliği. merge_jobidise binary(16), null varsayılan.@ enabled_for_syncmgr = 'enabled_for_syncmgr'
Windows Eşitleme Yöneticisi üzerinden eşitlenebilir abonelik belirtir. 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 SQL Server Management Studio.@ ftp_address = 'ftp_address'
Yalnızca geriye dönük uyumluluk için.@ftp_port = ftp_port
Yalnızca geriye dönük uyumluluk için.@ftp_login = 'ftp_login'
Yalnızca geriye dönük uyumluluk için.ftp_password @ = 'ftp_password'
Yalnızca geriye dönük uyumluluk için.@ alt_snapshot_folder = 'alternate_snapshot_folder'
Anlık görüntü dosyaları seçmek konum belirtir. alternate_snapshot_folderise nvarchar(255), null varsayılan. BOŞ ise, anlık görüntü dosyaları yayımcı tarafından belirtilen varsayılan konumdan aldım.@ working_directory = 'working_directory'
Anlık görüntü dosyaları ftp kullanıldığında geçici olarak yayın için veri ve şema dosyaları depolamak için kullanılan çalışma dizini adıdır. working_directoryise nvarchar(255), null varsayılan.@use_ftp = 'use_ftp'
ftp yerine normal Protokolü anlık görüntülerini almak için kullanılacağını belirtir. use_ftpise nvarchar(5), false varsayılan.@reserved = 'reserved'
Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez.@ use_interactive_resolver = 'use_interactive_resolver' ]
Etkileşimli çözümleyici etkileşimli çözümlemesine izin verecek tüm makaleleri çakışmaları çözümlemek için kullanır. use_interactive_resolverise nvarchar(5), false varsayılan.@ offloadagent = 'remote_agent_activation'
[!NOT]
Uzaktaki aracı etkinleştirme onaylanmaz ve artık desteklenmiyor. Bu parametre, yalnızca geriye dönük uyumluluk komut dosyaları korumak için desteklenir. Ayar remote_agent_activationdışında bir değere falsebir hata üretecektir.
@ offloadserver = 'remote_agent_server_name'
[!NOT]
Uzaktaki aracı etkinleştirme onaylanmaz ve artık desteklenmiyor. Bu parametre, yalnızca geriye dönük uyumluluk komut dosyaları korumak için desteklenir. Ayar remote_agent_server_nameherhangi bir boş olmayan değer bir hata üretecektir.
@job_name = 'job_name' ]
Varolan Aracısı iş adıdır. job_nameise sysname, varsayılan değeri NULL. Bu parametre yalnızca abonelik oluşturulan iş (varsayılan) yerine varolan bir işi kullanarak senkronize olacak zaman belirtildi. Eğer üye değilseniz sysadmin belirtmelisiniz sabit sunucu rolü, job_loginve job_passwordsizin belirlediğiniz zaman job_name.@ dynamic_snapshot_location = 'dynamic_snapshot_location' ]
Kullanılmak üzere burada anlık görüntü dosyaları ise süzülmüş veri anlık okunacak klasörü yoludur. dynamic_snapshot_locationise nvarchar(260), null varsayılan. Daha fazla bilgi için, bkz. Parametreli satır süzgeçleri.**@ use_web_sync =**use_web_sync
Web eşitleme etkin olduğunu gösterir. use_web_syncise bit, 0 varsayılan. 1 çekme abonelik http kullanarak Internet üzerinden eşitlenebilir belirtir.@ internet_url ='internet_url'
Çoğaltma dinleyici (REPLISAPI. konumudll) Web eşitleme. internet_urlise nvarchar(260), null varsayılan. internet_urlbiçiminde tam yetkili bir url olan http://server.domain.com/directory/replisapi.dll. Sunucu bağlantı noktası 80 dışında bir bağlantı noktasını dinleyecek şekilde yapılandırılmışsa, bağlantı noktası numarası biçiminde de sağlanmalıdır http://server.domain.com:portnumber/directory/replisapi.dllburada portnumberport. temsil eder@ internet_login ='internet_login'
Birleştirme Aracısı Web eşitleme barındıran Web sunucusu bağlanırken kullandığı oturum açma http temel kimlik doğrulaması kullanıyor. internet_loginise sysname, null varsayılan.@ internet_password ='internet_password'
Birleştirme Aracısı Web eşitleme barındıran Web sunucusu bağlanırken kullandığı parola http temel kimlik doğrulaması kullanıyor. internet_passwordise nvarchar(524), varsayılan değeri NULL.Güvenlik Notu Boş parola kullanmayın. Güçlü bir parola kullanın.
**@ internet_security_mode =**internet_security_mode
https Web sunucusu Web eşitleme sırasında bağlanırken Birleştirme Aracısı tarafından kullanılan kimlik doğrulama yöntemini kullanıyor. internet_security_modeise intve bu değerlerden birini olabilir.Değer
Açıklama
0
Temel kimlik doğrulaması kullanılır.
1 (varsayılan)
Windows ile tümleşik kimlik doğrulaması kullanılır.
[!NOT]
Temel kimlik doğrulaması Web eşitleme ile kullanmanızı öneririz. Web eşitleme kullanmak için Web sunucusu için bir ssl bağlantısı yapmalısınız. Daha fazla bilgi için, bkz. Web Eşitleme Yapılandır.
**@ internet_timeout =**internet_timeout
Web eşitleme isteği süresi dolmadan önce saniye cinsinden süre uzunluğu ise. internet_timeoutise int, varsayılan 300 saniye.@hostname ='hostname'
Bu işlev parametreli filtre where yan tümcesinde kullanıldığında host_name() değeri geçersiz kılar. hostnameise sysname, null varsayılan.@job_login ='job_login'
Aracı çalıştığı Windows hesabı için oturum açma 's. job_loginise nvarchar(257), hiçbir varsayılan ile. Bu Windows hesabını her zaman Aracısı bağlantıları için abone ve Publisher ve dağıtımcı bağlantıları için Windows tümleşik kimlik doğrulamasını kullanırken kullanılır.@ job_password ='job_password'
Aracı çalıştığı Windows hesabı için parola değil. job_passwordise sysname, hiçbir varsayılan ile.Güvenlik Notu Kimlik doğrulama bilgileri, komut dosyalarında depolamayın. En iyi güvenlik için giriş adları ve şifreler çalışma zamanında sağlanması.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Açıklamalar
sp_addmergepullsubscription_agent için benzer işlevleri kullanır ve birleştirme çoğaltması kullanılan sp_addpullsubscription_agent.
Nasıl-e doğru yürütürken güvenlik ayarlarını belirlemek bir örnek sp_addmergepullsubscription_agent, bakın Çekme abonelik oluştur.
Ö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".
-- 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
İzinler
Yalnızca üyeleri sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü yürütebilirsiniz sp_addmergepullsubscription_agent.
Ayrıca bkz.
Başvuru
sp_addmergepullsubscription (Transact-sql)
sp_changemergepullsubscription (Transact-sql)
sp_dropmergepullsubscription (Transact-sql)
eşdeğerdirsp_helpmergepullsubscription (Transact-sql)
sp_helpsubscription_properties (Transact-sql)