sp_addpushsubscription_agent (Transact-sql)
Itme abonelik işlem yayınına eşitlemek için kullanılan yeni bir zamanlanmış Aracısı iş ekler. Bu saklı yordam, yayını veritabanı üzerinde yayımcı adresindeki yürütülür.
Güvenlik Notu |
---|
Bir Publisher ile sağlanan tüm parametreler için değerler uzak bir dağıtımcı yapılandırma dahil job_loginve job_password, dağıtımcı düz metin olarak gönderilir. Bu saklı yordam yürütme önce Publisher ve kendi uzak dağıtımcı arasında bağlantı şifrelemek. Daha fazla bilgi için, bkz. Veritabanı altyapısı (SQL Server Configuration Manager) şifreli bağlantıları etkinleştir. |
Transact-SQL Sözdizim Kuralları
Sözdizimi
sp_addpushsubscription_agent [ @publication= ] 'publication'
[ , [ @subscriber = ] 'subscriber' ]
[ , [ @subscriber_db = ] 'subscriber_db' ]
[ , [ @subscriber_security_mode = ] subscriber_security_mode ]
[ , [ @subscriber_login = ] 'subscriber_login' ]
[ , [ @subscriber_password = ] 'subscriber_password' ]
[ , [ @job_login = ] 'job_login' ]
[ , [ @job_password = ] 'job_password' ]
[ , [ @job_name = ] 'job_name' ]
[ , [ @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 ]
[ , [ @dts_package_name = ] 'dts_package_name' ]
[ , [ @dts_package_password = ] 'dts_package_password' ]
[ , [ @dts_package_location = ] 'dts_package_location' ]
[ , [ @enabled_for_syncmgr = ] 'enabled_for_syncmgr' ]
[ , [ @distribution_job_name = ] 'distribution_job_name' ]
[ , [ @publisher = ] 'publisher' ]
[ , [ @subscriber_provider = ] 'subscriber_provider' ]
[ , [ @subscriber_datasrc = ] 'subscriber_datasrc' ]
[ , [ @subscriber_location = ] 'subscriber_location' ]
[ , [ @subscriber_provider_string = ] 'subscriber_provider_string' ]
[ , [ @subscriber_catalog = ] 'subscriber_catalog' ]
Bağımsız değişkenler
@ publication ='publication'
Yayını addır. publicationise sysname, hiçbir varsayılan ile.@ 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. Bir olmayan - SQL Server abone için değeri belirtmeniz (varsayılan hedef) için subscriber_db.**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. 0 belirtir SQL Serverkimlik. 1 Windows kimlik doğrulamasını belirtir.Güvenlik Notu Kuyruğa alınmış güncelleştirme abonelikleri için kullanmak SQL Serveraboneleri, bağlantıları için kimlik doğrulama ve bağlantı her abone için farklı bir hesap belirtin. Tüm abonelikler için Windows kimlik doğrulaması kullanın.
@ subscriber_login ='subscriber_login'
Bir abone eşitlerken bağlanırken kullanılacak abone oturum açma 's. subscriber_login's sysname, null varsayılan.@ subscriber_password ='subscriber_password'
Abone paroladır. subscriber_passwordEğer gerekli ise subscriber_security_modeayarı 0. subscriber_passwordise sysname, null varsayılan. Abone parola kullanılırsa, otomatik olarak şifrelenir.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.
@job_login ='job_login'
Aracı çalıştığı Windows hesabı için oturum açma 's. job_loginise nvarchar(257), varsayılan değeri NULL. Bu Windows hesabını her zaman Aracısı bağlantıları dağıtımcı için abone bağlantıları ve tümleşik Windows kimlik doğrulaması 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 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.
@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.@ frequency_type = frequency_type
Dağıtım 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 (varsayılan)
Otomatik başlatma
128
Yinelenen
[!NOT]
Bir değer belirterek 64 sürekli modunda çalıştırmak dağıtım aracı neden olur. Bu ayara karşılık -sürekli Aracısı parametresi. Daha fazla bilgi için, bkz. Çoğaltma Dağıtım Aracısı.
@ frequency_interval = frequency_interval
Ayarlar sıklığı uygulamak için değeri frequency_type. frequency_intervalise int, 1 varsayılan.@ frequency_relative_interval = frequency_relative_interval
Dağıtım Aracısı tarihidir. Bu parametre zaman frequency_typeayarı 32 (aylık göreli). frequency_relative_intervalise int, ve aşağıdaki değerlerden biri olabilir.Değer
Açıklama
1 (varsayılan)
First
2
İkinci
4
Üçüncü
8
Dördüncü
16
Last
@ frequency_recurrence_factor = frequency_recurrence_factor
Tarafından kullanılan yineleme faktörü olduğunu frequency_type. frequency_recurrence_factorise int, 0 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 aşağıdaki değerlerden biri olabilir.Değer
Açıklama
1
Bir kez
2
İkinci
4 (varsayılan)
Dakika
8
Saat
@ frequency_subday_interval = frequency_subday_interval
Aralık için frequency_subday. frequency_subday_intervalise int, 5 varsayılan.@ active_start_time_of_day = active_start_time_of_day
Ne zaman dağıtım aracı ilk günün saati SSDDSS biçimlendirilmiş planlanmıştır. active_start_time_of_dayise int, 0 varsayılan.@ active_end_time_of_day = active_end_time_of_day
Dağıtım Aracısı durduğunda günün saati zamanlanmış SSDDSS biçimlendirilmiş. active_end_time_of_dayise int, 235959 varsayılan.@ active_start_date = active_start_date
Ne zaman dağıtım aracı ilk tarih YYYYMMDD'nın biçimlendirilmiş planlanmıştır. active_start_dateise int, 0 varsayılan.@ active_end_date = active_end_date
Dağıtım Aracısı durduğunda tarih zamanlanmış YYYYMMDD'nın biçimlendirilmiş. active_end_dateise int, 99991231 varsayılan.@ dts_package_name ='dts_package_name'
Veri Dönüştürme Hizmetleri (dts) paketinin adını belirtir. dts_package_nameolan bir sysnamenull varsayılan. Örneğin, bir paket adını belirtmek için DTSPub_Package, parametre olacaktır @dts\_package\_name = N'DTSPub_Package'.@ dts_package_password ='dts_package_password'
Paketi çalıştırmak için gereken parolayı belirtir. dts_package_passwordise sysnamenull varsayılan.[!NOT]
Eğer bir parola belirtmelisiniz dts_package_namebelirtilen.
@ dts_package_location ='dts_package_location'
Paket konumu belirtir. dts_package_locationolan bir nvarchar(12), DAĞITIMCI varsayılan. Paket konumu olabilir Dağıtıcı veya abone.@ enabled_for_syncmgr = 'enabled_for_syncmgr'
Yoksa abonelik üzerinden eşitlenebilir olup MicrosoftEşitleme Yöneticisi. enabled_for_syncmgr's 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.@ distribution_job_name ='distribution_job_name'
Yalnızca bilgi amaçlı olarak belirtilmiştir. Desteklenmez. Gelecekteki uyumluluk garanti edilmez.@ publisher = 'publisher'
Yayımcı addır. publisherise sysname, varsayılan değeri NULL.@ subscriber_provider='subscriber_provider'
Hangi benzersiz programlama kimliğini (ProgID) ise sigara için ole db sağlayıcısı- SQL Server veri kaynağı kayıtlı. subscriber_providerise sysname, varsayılan değeri null. subscriber_providerDağıtımcı üzerinde yüklü ole db sağlayıcısı için benzersiz olmalıdır. subscriber_provideryalnızca desteklenir olmayan- SQL Server aboneleri.@ özellikleri='subscriber_datasrc'
Veri kaynağı adı ole db sağlayıcı tarafından anlaşılan gibidir. subscriber_datasrcise nvarchar(4000), varsayılan değeri NULL. subscriber_datasrcole db sağlayıcısı başlatılamadı DBPROP_INIT_DATASOURCE özelliği olarak geçirilir. subscriber_datasrcyalnızca desteklenir olmayan- SQL Server aboneleri.@ subscriber_location='subscriber_location'
ole db sağlayıcı tarafından anlaşılan veritabanının konumu aynıdır. subscriber_locationise nvarchar(4000), varsayılan değeri NULL. subscriber_locationole db sağlayıcısını başlatmak için DBPROP_INIT_LOCATION özelliği olarak geçirilir. subscriber_locationyalnızca desteklenir olmayan- SQL Server aboneleri.@ subscriber_location='subscriber_provider_string'
Veri kaynağını tanımlayan ole db sağlayıcıya özgü bağlantı dizesi olan. subscriber_provider_stringise nvarchar(4000), varsayılan değeri NULL. subscriber_provider_stringgeçer IDataInitializeya da ole db sağlayıcısı başlatılamadı DBPROP_INIT_PROVIDERSTRING özelliği olarak ayarla. subscriber_provider_stringyalnızca desteklenir olmayan- SQL Server aboneleri.@ subscriber_catalog='subscriber_catalog'
ole db sağlayıcısı bağlantı yaparken kullanılacak kataloğudur. subscriber_catalogise sysname, varsayılan değeri null. subscriber_catalogole db sağlayıcısı başlatılamadı DBPROP_INIT_CATALOG özellik olarak geçirilir. subscriber_catalogyalnızca desteklenir olmayan- SQL Server aboneleri.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Açıklamalar
sp_addpushsubscription_agent anlık görüntü çoğaltma ve işlem çoğaltma kullanılır.
Ö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;
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
İzinler
Yalnızca üyeleri sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü yürütebilirsiniz sp_addpushsubscription_agent.
Ayrıca bkz.
Başvuru
Çoğaltma depolanan yordamlar (Transact-sql)
sp_addsubscription (Transact-sql)
sp_changesubscription (Transact-sql)
sp_dropsubscription (Transact-sql)
sp_helpsubscription (Transact-sql)