Aracılığıyla paylaş


Eğitici Kılavuz: Sunucu ve mobil istemciler arasında replikasyonu ayarlama (birleştirme)

Şunlar için geçerlidir: SQL Server

Birleştirme çoğaltması, verileri yalnızca ara sıra bağlı olan merkezi bir sunucu ile mobil istemciler arasında taşıma sorununa iyi bir çözümdür. Çoğaltma sihirbazlarını kullanarak, birleştirme çoğaltma topolojisini kolayca yapılandırabilir ve yönetebilirsiniz.

Bu öğreticide, mobil istemciler için çoğaltma topolojisini yapılandırma işlemi gösterilmektedir. Birleştirme çoğaltması hakkında daha fazla bilgi için bkz. Birleştirme çoğaltmaya genel bakış.

Ne öğreneceksiniz?

Bu öğretici size, merkezi bir veritabanındaki verileri bir veya daha fazla mobil kullanıcıya yayımlamak için birleştirme çoğaltmasını kullanmayı öğretir. Böylece, her kullanıcı verilerin kendine özgü filtrelenmiş bir alt kümesini alır.

Bu öğreticide şunların nasıl yapıldığını öğrenirsiniz:

  • Birleştirme çoğaltması için bir yayımcı yapılandırın.
  • Birleştirme yayını için bir mobil abone ekleyin.
  • Aboneliği birleştirme yayınıyla eşitleyin.

Önkoşullar

Bu öğretici, temel veritabanı işlemlerini bilen ancak çoğaltma konusunda sınırlı deneyimi olan kullanıcılara yöneliktir. Bu öğreticiye başlamadan önce Öğretici: SQL Server'ı çoğaltmaya hazırlama bölümünü tamamlamanız gerekir.

Bu öğreticiyi tamamlamak için SQL Server, SQL Server Management Studio (SSMS) ve bir AdventureWorks veritabanı gerekir:

  • Yayımcı sunucusunda (kaynak) şunları yükleyin:

    • SQL Server Express veya SQL Server Compact dışında herhangi bir SQL Server sürümü. Bu sürümler çoğaltım yayımlayıcısı olamaz.
    • Örnek AdventureWorks2025 veritabanı. Güvenliği artırmak için örnek veritabanları varsayılan olarak yüklenmez.
  • Abone sunucusunda (hedef), SQL Server Express veya SQL Server Compact dışında herhangi bir SQL Server sürümünü yükleyin. Bu öğreticide oluşturulan yayın, SQL Server Express veya SQL Server Compact'i desteklemez.

  • SQL Server Management Studioyükleyin.

  • SQL Server 2017 Developer sürümünü yükleyin.

  • AdventureWorks örnek veritabanını indirin. SSMS'de veritabanını geri yükleme yönergeleri için bkz. Veritabanını geri yükleme.

Uyarı

Çoğaltma, ikiden fazla sürümden farklı SQL Server örneklerinde desteklenmez.

SQL Server Management Studio'da sysadmin sabit sunucu rolünün üyesi olan bir oturum açma bilgilerini kullanarak yayımcıya ve aboneye bağlanmanız gerekir. Bu rol hakkında daha fazla bilgi için bkz . Sunucu düzeyinde roller.

Bu öğreticiyi tamamlamak için tahmini süre: 60 dakika

Birleştirme çoğaltması için yayımcıyı yapılandırma

Bu bölümde, örnek veritabanında Employee, SalesOrderHeader ve SalesOrderDetail tablolarının AdventureWorks2025 bir alt kümesini yayımlamak için SQL Server Management Studio kullanarak bir birleştirme yayını oluşturacaksınız. Bu tablolar parametreli satır filtreleri ile filtrelenir, böylece her abonelik verilerin benzersiz bir bölümünü içerir. Ayrıca, Birleştirme Aracısı tarafından kullanılan SQL Server oturum açma bilgilerini yayın erişim listesine (PAL) eklersiniz.

Birleştirme yayını oluşturma ve makaleleri tanımlama

  1. SQL Server Management Studio'da yayımcıya bağlanın ve ardından sunucu düğümünü genişletin.

  2. NESNE Gezgini'nde sağ tıklayıp Başlat'ı seçerek SQL Server Aracısı'nı başlatın. Bu adım aracıyı başlatmazsa, bunu SQL Server Configuration Manager'dan el ile yapmanız gerekir.

  3. Çoğaltma klasörünü genişletin, Yerel Yayınlar'a sağ tıklayın ve Yeni Yayın'ı seçin. Yeni Yayın Sihirbazı başlatılır:

    Yeni Yayın Sihirbazı'nı başlatma seçimleri

  4. Yayın Veritabanı sayfasında, AdventureWorks2025 seçeneğini seçin ve ardından İleri'yi seçin.

  5. Yayın Türü sayfasında Yayınıbirleştir'i ve ardından İleri'yi seçin.

  6. Abone Türleri sayfasında, yalnızca SQL Server 2008 (10.0.x) veya üzerinin seçili olduğundan emin olun ve İleri'yi seçin:

  7. Makaleler sayfasında Tablolar düğümünü genişletin. Şu üç tabloyu seçin: Employee, SalesOrderHeader ve SalesOrderDetail. sonrakiseçin.

    Uyarı

    Employee tablosu, hierarchyid veri türüne sahip bir sütun (OrganizationNode) içerir. Bu veri türü yalnızca SQL Server 2017'de çoğaltma için desteklenir.

    SQL Server 2017'den önceki bir derleme kullanıyorsanız, ekranın alt kısmında bu sütunu çift yönlü çoğaltmada kullanmak için olası veri kaybıyla ilgili sizi bilgilendiren bir ileti görüntülenir. Bu öğreticide, bu mesajı yok sayabilirsiniz. Ancak, desteklenen derlemeyi kullanmadığınız sürece bu veri türü üretim ortamında çoğaltılmamalıdır.

    Hierarchyid veri türünü çoğaltma hakkında daha fazla bilgi için bkz. Çoğaltmada hierarchyid sütunlarını kullanma.

  8. Tablo Satırlarını Filtrele sayfasında Ekle'yi ve ardından Filtre Ekle'yi seçin.

  9. Filtre Ekle iletişim kutusunda, Filtre uygulamak istediğiniz tabloyu seçin bölümünde Çalışan (HumanResources) öğesini seçin. LoginID sütununu seçin, sağ oku seçerek sütunu filtre sorgusunun WHERE yan tümcesine ekleyin ve WHERE yan tümcesini aşağıdaki gibi değiştirin:

     WHERE [LoginID] = HOST_NAME()  
    

    Bu tablodan bir satır seçin, yalnızca bir aboneliğe gider ve Tamam'ı seçin.

    Filtre ekleme seçimleri

  10. Tablo Satırlarını Filtrele sayfasında Çalışan (İnsan Kaynakları) öğesini seçin, Ekle'yi ve ardından Seçili Filtreyi Genişletmek için Ekle'yi seçin.

    a. Birleştirme Ekle iletişim kutusunda, Katılmış tablo altında Sales.SalesOrderHeader öğesini seçin. Join deyimini el ile yaz'ı seçin ve join deyimini aşağıdaki gibi tamamlayın:

    ON [Employee].[BusinessEntityID] =  [SalesOrderHeader].[SalesPersonID] 
    

    b. Birleştirme seçeneklerini belirtin bölümünde Benzersiz anahtar'ı ve ardından Tamam'ı seçin.

    Filtreye birleştirme ekleme seçimleri

  11. Tablo Satırlarını Filtrele sayfasında SalesOrderHeader'ı, Ekle'yi ve ardından Seçili Filtreyi Genişletmek için Birleştirme Ekle'yi seçin.

    a. Birleştirme Ekle iletişim kutusunda, Katılmış tablo altında Sales.SalesOrderDetail öğesini seçin.
    b. Deyimi oluşturmak için Oluşturucu kullan'ı seçin.
    c. Önizleme kutusunda join deyiminin aşağıdaki gibi olduğunu onaylayın:

    ON [SalesOrderHeader].[SalesOrderID] = [SalesOrderDetail].[SalesOrderID] 
    

    d. Birleştirme seçeneklerini belirtin bölümünde Benzersiz anahtar'ı ve ardından Tamam'ı seçin. sonrakiseçin.

    Satış siparişleri için başka bir birleşim ekleme seçimleri

  12. Anlık görüntü oluştur'u seçin, Anlık görüntü aracısını aşağıdaki zamanlarda çalışacak şekilde zamanla'yı temizleyin ve İleri'yi seçin:

    Anında anlık görüntü oluşturma seçimi

  13. Aracı Güvenliği sayfasında Güvenlik Ayarları'nı seçin. < kutusuna Publisher_Machine_Name>\repl_snapshot girin, bu hesabın parolasını girin ve tamam'ı seçin. sonrakiseçin.

    Anlık Görüntü Aracısı güvenliğini ayarlama seçimleri

  14. Sihirbazı Tamamla sayfasında, Yayın adı kutusuna AdvWorksSalesOrdersMerge yazın ve Son'u seçin:

    Yayın adıyla

  15. Yayın oluşturulduktan sonra Kapat'ı seçin. Nesne Gezgini'ndekiÇoğaltma düğümü altında, Yerel Yayınlar'a sağ tıklayın ve yeni birleştirme çoğaltmanızı görüntülemek için Yenile'yi seçin.

Anlık görüntü oluşturma durumunu görüntüleme

  1. SQL Server Management Studio'da yayımcıya bağlanın, sunucu düğümünü genişletin ve çoğaltma klasörünü genişletin .

  2. Yerel Yayınlar klasöründe AdvWorksSalesOrdersMerge öğesine sağ tıklayıp Anlık Görüntü Aracısı Durumunu Görüntüle'yi seçin:

    Anlık Görüntü Aracısı durumunu görüntüleme seçimleri

  3. Yayına ait Snapshot Agent işinin geçerli durumu görüntülenir. Sonraki derse devam etmeden önce anlık görüntü alma görevinin başarılı olduğundan emin olun.

PAL'e Merge Agent giriş bilgilerini ekleme

  1. SQL Server Management Studio'da yayımcıya bağlanın, sunucu düğümünü genişletin ve çoğaltma klasörünü genişletin .

  2. Yerel Yayınlar klasöründe AdvWorksSalesOrdersMerge öğesine sağ tıklayın ve özellikler'i seçin.

    a. Yayın Erişim Listesi sayfasını seçin ve Ekle'yi seçin.

    b. Yayın Erişimi Ekle iletişim kutusunda Publisher_Machine_Name <\repl_merge'ı> seçin ve Tamam'ı seçin. Yeniden Tamam'ı seçin.

    Birleştirme Aracısı oturum açma bilgilerini ekleme seçimleri

Daha fazla bilgi için bakınız:

Birleştirme yayınına abonelik oluşturma

Bu bölümde, daha önce oluşturduğunuz birleştirme yayınına bir abonelik eklersiniz. Bu öğreticide uzak abone (NODE2\SQL2016) kullanılır. Ardından abonelik veritabanında izinleri ayarlar ve yeni abonelik için filtrelenmiş veri anlık görüntüsünü el ile oluşturursunuz.

Birleştirme yayını için abone ekleme

  1. SQL Server Management Studio'da aboneye bağlanın ve sunucu düğümünü genişletin. Çoğaltma klasörünü genişletin, Yerel Abonelikler klasörüne sağ tıklayın ve ardından Yeni Abonelikler'i seçin. Yeni Abonelik Sihirbazı başlatılır:

    Yeni Abonelik Sihirbazı'nı başlatma seçimleri

  2. Yayın sayfasında, Yayımcı listesindeSQL Server Yayımcısını Bul'u seçin.

    Sunucuya Bağlan iletişim kutusunda, Sunucu adı kutusuna yayımcı örneğinin adını girin ve Bağlan'ı seçin.

    Yayımcı ekleme seçimleri

  3. AdvWorksSalesOrdersMerge öğesini ve ardından İleri'yi seçin.

  4. Birleştirme Aracı Konumu sayfasında Her bir aracı Abonede çalıştır seçeneğini seçin ve ardından İleri'yi seçin:

  5. Aboneler sayfasında abone sunucusunun örnek adını seçin. Abonelik Veritabanı'nın altında listeden Yeni Veritabanı'nı seçin.

    Yeni Veritabanı iletişim kutusunda, Veritabanı adı kutusuna SalesOrdersReplica yazın. Tamam'ı ve ardından İleri'yi seçin.

    Aboneye veritabanı ekleme seçimleri

  6. Birleştirme Aracısı Güvenliği sayfasında üç nokta (...) düğmesini seçin. İşlem hesabı kutusuna <> girin ve bu hesabın parolasını girin. Tamam'ı seçin, İleri'yi seçin ve sonra yeniden İleri'yi seçin.

    Birleştirme Aracısı güvenliği seçimleri

  7. Eşitleme Zamanlaması sayfasında Aracı Zamanlaması'nıyalnızca isteğe bağlı olarak çalıştır olarak ayarlayın. sonrakiseçin.

    Aracı için

  8. Abonelikleri Başlat sayfasında, Başlatma Zamanlistesinden İlk eşitlemede'yi seçin. Abonelik Türü sayfasına gitmek için İleri'yi seçin ve uygun abonelik türünü seçin. Bu öğretici İstemci'yi kullanır. Abonelik türünü seçtikten sonra yeniden İleri'yi seçin.

    İlk eşitlemede abonelikleri başlatma seçimleri

  9. HOST_NAME Değerler sayfasında, HOST_NAME Değerikutusuna adventure-works\pamela0 değerini girin. Ardından Son’u seçin.

  10. Son'u yeniden seçin. Abonelik oluşturulduktan sonra Kapat'ı seçin.

Abonede sunucu izinlerini ayarlama

  1. SQL Server Management Studio'da aboneye bağlanın. Güvenlik'i genişletin, Oturum Açma bilgileri'ne sağ tıklayın ve Yeni Oturum Aç'ı seçin.

    Genel sayfasında Ara'yı seçin ve <> değerlerini nesne adını girin kutusuna girin. Kontrol Adları'nı ve ardından Tamam'ı seçin.

    Oturum açma ayarlarını belirleme seçimleri

  2. Kullanıcı Eşlemesi sayfasında SalesOrdersReplica veritabanını seçin ve db_owner rolünü seçin. Securables sayfasında, Açıkça izni İzlemeyi Değiştirme için verin. Tamam'ı seçin.

Abonelik için filtrelenmiş veri anlık görüntüsünü oluşturma

  1. SQL Server Management Studio'da yayımcıya bağlanın, sunucu düğümünü genişletin ve çoğaltma klasörünü genişletin .

  2. Yerel Yayınlar klasöründe AdvWorksSalesOrdersMerge yayınına sağ tıklayın ve özellikler'i seçin.

    a. Veri Bölümleri sayfasını seçin ve Ekle'yi seçin.
    b. Veri Bölümü Ekle iletişim kutusunda, HOST_NAME Değerikutusuna adventure-works\pamela0 yazın ve Tamam'ı seçin.
    c. Yeni eklenen bölümü seçin, Seçili anlık görüntüleri şimdi oluştur'a ve ardından Tamam'a tıklayın.

    Bölüm ekleme seçimleri

Daha fazla bilgi için bakınız:

Aboneliği birleştirme yayınına eşitle

Bu bölümde, SQL Server Management Studio kullanarak aboneliği başlatmak için Birleştirme Aracısı'nı başlatacaksınız. Yayımcıyla senkronize etmek için de bu işlemi kullanırsınız.

Eşitlemeyi başlatma ve aboneliği başlatma

  1. SQL Server Management Studio'da aboneye bağlanın.

  2. SQL Server Aracısı'nın çalıştığından emin olun. Değilse, Nesne Gezgini'nde SQL Server Aracısı'na sağ tıklayın ve Başlat'ı seçin. Bu adım aracınızı başlatamazsa SQL Server Configuration Manager'ı kullanarak bunu el ile yapmanız gerekir.

  3. Çoğaltma düğümünü genişletin. Yerel Abonelikler klasöründe SalesOrdersReplica veritabanında aboneliğe sağ tıklayın ve eşitleme durumunu görüntüle'yi seçin.

    Aboneliği başlatmak için Başlat'ı seçin.