Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu konuda, SQL Server Management Studio veya Transact-SQL kullanarak SQL Server'da SQL Server olmayan bir Abone için nasıl abonelik oluşturulacağı açıklanmaktadır. Transaksiyonel ve anlık görüntü çoğaltma, SQL Server abonesi olmayanlar için veri yayımlamayı destekler. Desteklenen Abone platformları hakkında bilgi için bkz. SQL Server Olmayan Aboneler.
Bu Konuda
SQL Server abonesi olmayan bir abone için aşağıdakini kullanarak abonelik oluşturmak için:
SQL Server Management Studio'yu kullanma
SQL Server abonesi olmayan bir abone için abonelik oluşturmak için:
SQL Server Dağıtımcısı'na uygun istemci yazılımını ve OLE DB sağlayıcılarını yükleyin ve yapılandırın. Daha fazla bilgi için bkz. Oracle Aboneleri ve IBM Db2 Aboneleri.
Yeni Yayın Sihirbazı'nı kullanarak bir yayın oluşturun. Yayın oluşturma hakkında daha fazla bilgi için bkz. Yayın Oluşturma ve Oracle Veritabanından Yayın Oluşturma. Yeni Yayın Sihirbazı'nda aşağıdaki seçenekleri belirtin:
Yayın Türü sayfasında Anlık görüntü yayını veya İşlem yayını'nı seçin.
Anlık Görüntü Aracısı sayfasında Anlık görüntü oluştur'u hemen temizleyin.
SQL Server olmayan aboneler için yayın etkinleştirildikten sonra, Anlık Görüntü Aracısı'nın SQL Server olmayan abonelere uygun bir anlık görüntü ve başlatma komut dosyaları oluşturduğundan emin olmak amacıyla anlık görüntüyü oluşturursunuz.
Yayın Özellikleri - <YayınAdı> iletişim kutusunu kullanarak SQL Server abonesi olmayanlar için yayını etkinleştirin. Bu adım hakkında daha fazla bilgi için bkz. Yayın Özellikleri, Abonelik Seçenekleri .
Yeni Abonelik Sihirbazı'nı kullanarak bir abonelik oluşturun. Bu konu başlığında bu adım hakkında daha fazla bilgi sağlanmaktadır.
(İsteğe bağlı) pre_creation_cmd özelliğini Abonede tabloları tutmak için değiştirin. Bu konu başlığında bu adım hakkında daha fazla bilgi sağlanmaktadır.
Yayın için bir anlık görüntü oluşturun. Bu konu başlığında bu adım hakkında daha fazla bilgi sağlanmaktadır.
Aboneliği senkronize edin. Daha fazla bilgi için bkz. Anında İletme Aboneliğini Eşitleme.
SQL Server abonesi olmayanlar için yayını etkinleştirmek için
SQL Server Management Studio'da Publisher'a bağlanın ve ardından sunucu düğümünü genişletin.
Çoğaltma klasörünü genişletin ve ardından Yerel Yayınlar klasörünü genişletin.
Yayına sağ tıklayın ve ardından Özellikler'e tıklayın.
Abonelik Seçenekleri sayfasında SQL Server Olmayan Abonelere İzin Ver seçeneği için True değerini seçin. Bu seçeneğin seçilmesi, yayının SQL Server olmayan Abonelerle uyumlu olması için bir dizi özelliği değiştirir.
Uyarı
True seçildiğinde, pre_creation_cmd makale özelliğinin değeri 'drop' olarak ayarlanır. Bu ayar, çoğaltmanın makaledeki tablonun adıyla eşleşiyorsa aboneye bir tablo bırakması gerektiğini belirtir. Abone sunucusunda korumak istediğiniz tablolarınız varsa, her bir makale için sp_changearticle saklı yordamını kullanın; pre_creation_cmd için 'none' değerini tanımlayın:
sp_changearticle @publication= 'MyPublication', @article= 'MyArticle', @property='pre_creation_cmd', @value='none'.Tamam'ı seçin. Yayın için yeni bir anlık görüntü oluşturmanız istenir. Şu anda bir tane oluşturmak istemiyorsanız, sonraki "nasıl yapılır" yordamında daha sonra açıklanan adımları kullanın.
SQL Server abonesi olmayan bir abone için abonelik oluşturmak için
Çoğaltma klasörünü genişletin ve ardından Yerel Yayınlar klasörünü genişletin.
Uygun yayına sağ tıklayın ve ardından Yeni Abonelikler'e tıklayın.
Dağıtım Aracısı Konumu sayfasında Dağıtımcıdaki tüm aracıları çalıştır'ın seçili olduğundan emin olun. SQL Server dışındaki aboneler, abonede aracıların çalıştırılmasını desteklemez.
Aboneler sayfasında Abone Ekle'ye ve ardından SQL Server Olmayan Abone Ekle'ye tıklayın.
SQL Server Olmayan Abone Ekle iletişim kutusunda Abone türünü seçin.
Veri kaynağı adına bir değer girin:
Oracle için bu, yapılandırdığınız saydam ağ alt katman (TNS) adıdır.
IBM için bu herhangi bir ad olabilir. Abonenin ağ adresini belirtmek tipik bir durumdur.
Bu adımda girilen veri kaynağı adı ve 9. adımda belirtilen kimlik bilgileri bu sihirbaz tarafından doğrulanmaz. Abonelik için Dağıtım Aracısı çalıştırılana kadar, çoğaltma tarafından kullanılmazlar. Bir istemci aracı (oracle için sqlplus gibi) kullanarak Aboneye bağlanarak tüm değerlerin test edilmiş olduğundan emin olun. Daha fazla bilgi için bkz. Oracle Aboneleri ve IBM Db2 Aboneleri.
Tamam'ı seçin. Sihirbazın Aboneler sayfasında, Abone artık Abone sütununda görüntülenir ve (varsayılan hedef) olarak salt okunur Abonelik Veritabanı sütununda yer alır:
Oracle için bir sunucuda en fazla bir veritabanı vardır, bu nedenle veritabanının belirtilmesi gerekmez.
IBM Db2 için veritabanı, DB2 bağlantı dizesinin İlk Katalog özelliğinde belirtilir ve bu işlemde daha sonra açıklanan Ek bağlantı seçenekleri alanına girilebilir.
Dağıtım Aracısı Güvenliği sayfasında, Dağıtım Aracısı Güvenliği iletişim kutusuna erişmek için Abone'nin yanındaki özellikler düğmesine (...) tıklayın.
Dağıtım Aracısı Güvenliği iletişim kutusunda:
İşlem hesabı, Parola ve Parolayı onayla alanlarına, Dağıtım Aracısı'nın altında çalışması gereken Microsoft Windows hesabını ve parolasını girin ve Dağıtımcı ile yerel bağlantılar oluşturun.
Hesap şu minimum izinleri gerektirir: dağıtım veritabanındaki db_owner sabit veritabanı rolünün üyesi; yayın erişim listesinin (PAL) üyesi; anlık görüntü paylaşımındaki okuma izinleri; ve OLE DB sağlayıcısının yükleme dizininde okuma izni. PAL hakkında daha fazla bilgi için bkz . Yayımcının Güvenliğini Sağlama.
Aboneye Bağlan'ın altındaki Oturum Açma, Parola ve Parolayı onayla alanlarına Aboneye bağlanmak için kullanılması gereken oturum açma bilgilerini ve parolayı girin. Bu oturum açma bilgisi zaten yapılandırılmış olmalı ve abonelik veritabanında nesne oluşturmak için yeterli izinlere sahip olmalıdır.
Ek bağlantı seçenekleri alanında, Abone için bağlantı seçeneklerini bir bağlantı dizesi biçiminde belirtin (Oracle ek seçenekler gerektirmez). Her seçenek noktalı virgülle ayrılmalıdır. Aşağıda DB2 bağlantı dizesi örneği verilmiştir (satır sonları okunabilirlik içindir):
Provider=DB2OLEDB;Initial Catalog=MY_SUBSCRIBER_DB;Network Transport Library=TCP;Host CCSID=1252; PC Code Page=1252;Network Address=MY_SUBSCRIBER;Network Port=50000;Package Collection=MY_PKGCOL; Default Schema=MY_SCHEMA;Process Binary as Character=False;Units of Work=RUW;DBMS Platform=DB2/NT; Persist Security Info=False;Connection Pooling=True;Dizedeki seçeneklerin çoğu yapılandırdığınız DB2 sunucusuna özeldir, ancak İkiliyi Karakter Olarak İşle seçeneği her zaman False olarak ayarlanmalıdır. Abonelik veritabanını tanımlamak için İlk Katalog seçeneği için bir değer gereklidir.
Eşitleme Zamanlaması sayfasında, Aracı Zamanlaması menüsünden Dağıtım Aracısı için bir zamanlama seçin (zamanlama genellikle Sürekli çalıştır'dır).
Abonelikleri Başlat sayfasında, aboneliğin başlatılıp başlatılmayacağını ve başlatılacaksa ne zaman başlatılacağını belirtin:
Yalnızca tüm nesneleri oluşturduysanız ve tüm gerekli verileri abonelik veritabanına eklediyseniz Başlat'ı temizleyin.
Dağıtım Aracısı'nın anlık görüntü dosyalarını bu sihirbaz tamamlandıktan sonra Aboneye aktarmasını sağlamak için Başlatma Zamanı sütunundaki açılan listeden Hemen'i seçin. Aracının dosyaları bir sonraki çalıştırma zamanında aktarmasını sağlamak için İlk eşitlemede'yi seçin.
Sihirbaz Eylemleri sayfasında isteğe bağlı olarak aboneliği kodlayın. Daha fazla bilgi için Scripting Replication bölümüne bakınız.
Tabloları Abonede tutmak için
- Varsayılan olarak, SQL Server abonesi olmayanlar için yayının etkinleştirilmesi , pre_creation_cmd makale özelliğinin değerini 'drop' olarak ayarlar. Bu ayar, çoğaltmanın makaledeki tablonun adıyla eşleşiyorsa aboneye bir tablo bırakması gerektiğini belirtir. Eğer Abonede sisteminde zaten mevcut tablolarınız varsa ve bunları korumak istiyorsanız, her makale için sp_changearticle saklı yordamını kullanın. pre_creation_cmd için 'none' değerini belirtin.
sp_changearticle @publication= 'MyPublication', @article= 'MyArticle', @property='pre_creation_cmd', @value='none'.
Yayın için anlık görüntü oluşturmak için
Çoğaltma klasörünü genişletin ve ardından Yerel Yayınlar klasörünü genişletin.
Yayına sağ tıklayın ve ardından Anlık Görüntü Aracısı Durumunu Görüntüle'ye tıklayın.
Anlık Görüntü Aracısı Durumunu Görüntüle - <Yayın> iletişim kutusunda Başlat'a tıklayın.
Anlık Görüntü Aracısı anlık görüntü oluşturmayı tamamladığında, "[100%] 17 makalenin anlık görüntüsü oluşturuldu" gibi bir ileti görüntülenir.
Transact-SQL Kullanımı
Çoğaltma saklı yordamlarını kullanarak SQL Server abonesi olmayanlara program aracılığıyla anında iletme abonelikleri oluşturabilirsiniz.
Önemli
Mümkün olduğunda, kullanıcılardan çalışma zamanında güvenlik kimlik bilgilerini girmelerini iste. Kimlik bilgilerini bir betik dosyasında depolamanız gerekiyorsa, yetkisiz erişimi önlemek için dosyanın güvenliğini sağlamalısınız.
SQL Server abonesi olmayan bir aboneye işlem veya anlık görüntü yayını için anında iletme aboneliği oluşturmak için
SQL Server abonesi olmayanlar için en son OLE DB sağlayıcısını hem Yayımcı hem de Dağıtımcı'ya yükleyin. OLE DB sağlayıcısının çoğaltma gereksinimleri için bkz. SQL Server Olmayan Aboneler, Oracle Aboneleri, IBM Db2 Aboneleri.
Yayın veritabanındaki Publisher'da, sp_helppublication (Transact-SQL) yürüterek yayının SQL Server olmayan Aboneleri desteklediğini doğrulayın.
enabled_for_het_sub değeri 1 ise SQL Server abonesi olmayanlar desteklenir.
enabled_for_het_sub değeri 0 ise, sp_changepublication (Transact-SQL) komutunu çalıştırın ve
@propertyiçin enabled_for_het_sub ve@valueiçin true belirleyin.Uyarı
enabled_for_het_subtrue olarak değiştirmeden önce, var olan abonelikleri yayına bırakmanız gerekir. Yayın aboneliklerin güncelleştirilmesini de destekliyorsa enabled_for_het_subtrue olarak ayarlayamazsınız. enabled_for_het_sub değiştirmek diğer yayın özelliklerini etkiler. Daha fazla bilgi için bkz. SQL Server Olmayan Aboneler.
Yayın veritabanındaki Publisher'da sp_addsubscription (Transact-SQL) çalıştırın.
@publicationiçin bir değer,@subscriberiçin bir(default destination)değeri,@destination_dbiçin push değeri ve@subscriber_typeiçin 3 değerini belirtin (OLE DB sağlayıcısını belirtir).Yayın veritabanındaki Publisher'da sp_addpushsubscription_agent (Transact-SQL)'yi çalıştırın. Aşağıdakileri belirtin:
@subscriberve@publicationparametreleri.(varsayılan hedef) için
@subscriber_dbbir değeriSQL Server dışındaki veri kaynağının
@subscriber_provider,@subscriber_datasrc,@subscriber_location,@subscriber_provider_stringve@subscriber_catalogiçin özellikleri.Dağıtıcıda Dağıtım Aracısı'nın
@job_loginve@job_passwordiçin çalıştığı Microsoft Windows kimlik bilgileri.
Uyarı
Windows Tümleşik Kimlik Doğrulaması kullanılarak yapılan bağlantılar her zaman ve
@job_logintarafından@job_passwordbelirtilen Windows kimlik bilgilerini kullanır. Dağıtım Aracısı her zaman Windows Tümleşik Kimlik Doğrulaması kullanarak Dağıtımcı ile yerel bağlantı kurar. Varsayılan olarak, aracı Windows Tümleşik Kimlik Doğrulaması kullanarak Aboneye bağlanır.0 değeri
@subscriber_security_modeve@subscriber_loginile@subscriber_passwordiçin OLE DB sağlayıcısı oturum açma bilgileri.Bu abonelik için Dağıtım Aracısı işi zamanlaması. Daha fazla bilgi için bkz. Eşitleme Zamanlamalarını Belirtme.
Önemli
Uzak Dağıtımcılı bir Yayımcıda anında iletme aboneliği oluştururken, job_login ve job_password dahil olmak üzere tüm parametreler için sağlanan değerler Düz metin olarak Dağıtımcıya gönderilir. Bu saklı yordamı yürütmeden önce Yayımcı ile uzak Dağıtımcı arasındaki bağlantıyı şifrelemeniz gerekir. Daha fazla bilgi için bkz. Veritabanı Altyapısına Şifreli Bağlantıları Etkinleştirme (SQL Server Configuration Manager).