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.
Eşler arası çoğaltma, düğüm olarak da adlandırılan birden çok sunucu örneğinde verilerin kopyalarını koruyarak ölçeği genişletme ve yüksek kullanılabilirlik çözümü sağlar. İşlem çoğaltmasının temeli üzerine oluşturulan eşler arası çoğaltma, neredeyse gerçek zamanlıya yakın işlemsel olarak tutarlı değişiklikler yayılım gösterir. Bu, okuma işlemlerinin ölçeğini genişletmeyi gerektiren uygulamaların istemcilerden gelen okumaları birden çok düğüme dağıtmasını sağlar. Veriler düğümler arasında neredeyse gerçek zamanlı olarak korunacağından, eşler arası çoğaltma veri yedekliliği sağlayarak verilerin kullanılabilirliğini artırır.
Bir web uygulaması düşünün. Bu, eşler arası çoğaltmadan aşağıdaki yollarla yararlanabilir:
Katalog sorguları ve diğer okumalar birden çok düğüme yayılır. Bu, okuma sayısı arttıkça performansın tutarlı kalmasını sağlar.
Sistemdeki düğümlerden biri başarısız olursa, bir uygulama katmanı bu düğüm için yazmaları başka bir düğüme yönlendirebilir. Bu, kullanılabilirliği korur.
Bir düğüm bakım gerektiriyorsa veya tüm sistem yükseltme gerektiriyorsa, her düğüm çevrimdışına alınabilir ve uygulamanın kullanılabilirliğini etkilemeden sisteme geri eklenebilir.
Eşler arası çoğaltma, okuma işlemlerinin ölçeğini genişletmeyi etkinleştirse de, topoloji için yazma performansı tek bir düğümde olduğu gibidir. Bunun nedeni, sonuçta tüm eklemelerin, güncelleştirmelerin ve silmelerin tüm düğümlere yayılmasıdır. Çoğaltma, belirli bir düğüme ne zaman bir değişiklik uygulandığını tanır ve değişikliklerin düğümler arasında birden fazla döngü yapmasını engeller. Aşağıdaki nedenlerle, her satır için yazma işlemlerinin yalnızca bir düğümde gerçekleştirilmesini kesinlikle öneririz:
Bir satır birden fazla düğümde değiştirilirse, satır diğer düğümlere yayıldığında çakışmaya ve hatta kaybedilmiş bir güncelleştirmeye neden olabilir.
Değişiklikler çoğaltıldığında her zaman bir gecikme süresi söz konusu olur. En son değişikliğin hemen görülmesini gerektiren uygulamalar için, uygulamanın birden çok düğüm arasında dinamik olarak yük dengelemesi sorunlu olabilir.
Eşler arası çoğaltma, eşler arası topolojide çakışma algılamayı etkinleştirme seçeneğini içerir. Bu seçenek, tutarsız uygulama davranışı ve kayıp güncelleştirmeler de dahil olmak üzere algılanmayan çakışmalardan kaynaklanan sorunların önlenmesine yardımcı olur. Bu seçenek etkinleştirildiğinde, varsayılan olarak çakışan bir değişiklik Dağıtım Aracısı'nın hatasına neden olan kritik bir hata olarak değerlendirilir. Çakışma durumunda, çakışma el ile çözülene ve veriler topoloji genelinde tutarlı hale getirilinceye kadar topoloji tutarsız durumda kalır. Daha fazla bilgi için bkz. Eşler Arası Çoğaltmada Çakışma Algılama.
Uyarı
Olası veri tutarsızlığını önlemek için, çakışma algılama etkin olsa bile eşler arası topolojideki çakışmaları önlediğinizden emin olun. Belirli bir satıra yönelik yazma işlemlerinin yalnızca bir düğümde gerçekleştirildiğinden emin olmak için, verilere erişen ve verileri değiştiren uygulamaların ekleme, güncelleştirme ve silme işlemlerini bölümlemeleri gerekir. Bu bölümleme, bir düğümden kaynaklanan belirli bir satırda yapılan değişikliklerin, satır farklı bir düğüm tarafından değiştirilmeden önce topolojideki diğer tüm düğümlerle eşitlenmesini sağlar. Bir uygulama gelişmiş çakışma algılama ve çözümleme özellikleri gerektiriyorsa birleştirme çoğaltması kullanın. Daha fazla bilgi için bkz . Birleştirme Çoğaltması ve Birleştirme Çoğaltma Çakışmalarını Algılama ve Çözme.
Eşler Arası Topolojiler
Aşağıdaki senaryolarda eşler arası çoğaltma için tipik kullanımlar gösterilmektedir.
İki Katılımcı Veritabanı Olan Topoloji
Yukarıdaki çizimlerin her ikisi de, kullanıcı trafiğinin bir uygulama sunucusu aracılığıyla veritabanlarına yönlendirilmesiyle iki katılımcı veritabanını gösterir. Bu yapılandırma, Web sitelerinden çalışma grubu uygulamalarına kadar birçok uygulama için kullanılabilir ve aşağıdaki avantajları sağlar:
Okuma işlemleri iki sunucuya yayıldığı için okuma performansı iyileştirildi.
Bakım gerekiyorsa veya bir düğümde hata olduğunda daha yüksek kullanılabilirlik.
Her iki çizimde de, katılan veritabanları arasında okuma etkinliği yük dengelemesi yapılır, ancak güncelleştirmeler farklı şekilde işlenir:
Sol tarafta, güncelleştirmeler iki sunucu arasında bölümlenir. Veritabanı bir ürün kataloğu içeriyorsa, örneğin, A ile M arasında başlayan ürün adları için A düğümüne yönelik özel bir uygulama doğrudan güncelleştirmeleri ve N ile Z arasında başlayan ürün adları için B düğümüne doğrudan güncelleştirmeler sağlayabilirsiniz. Güncelleştirmeler daha sonra diğer düğüme çoğaltılır.
Sağ tarafta tüm güncelleştirmeler B düğümüne yönlendirilir. Buradan güncelleştirmeler A düğümüne çoğaltılır. B çevrimdışıysa (örneğin, bakım için), uygulama sunucusu tüm etkinlikleri A'ya yönlendirebilir. B yeniden çevrimiçi olduğunda, güncelleştirmeler buna akabilir ve uygulama sunucusu tüm güncelleştirmeleri B'ye geri taşıyabilir veya A'ya yönlendirmeye devam edebilir.
Eşler arası çoğaltma iki yaklaşımı da destekleyebilir, ancak sağdaki merkezi güncelleştirme örneği genellikle standart işlem çoğaltmasıyla da kullanılır.
Üç veya Daha Fazla Katılımcı Veritabanı Olan Topolojiler
Yukarıdaki çizimde, Los Angeles, Londra ve Taipei ofisleriyle dünya çapında bir yazılım destek kuruluşu için veri sağlayan üç katılımcı veritabanı gösterilmektedir. Her ofisteki destek mühendisleri müşteri çağrılarını alır ve her müşteri araması hakkındaki bilgileri girer ve güncelleştirir. Üç ofisin saat dilimleri birbirinden sekiz saat ayrı olduğundan işgününde çakışma olmaz. Taipei ofisi kapanırken, Londra ofisi o gün için açılıyor. Bir ofis kapatılırken arama devam ediyorsa, arama açmak için bir sonraki ofisteki bir temsilciye aktarılır.
Her konumda, destek mühendisleri tarafından müşteri çağrılarıyla ilgili bilgileri girerken ve güncelleştirirken kullanılan bir veritabanı ve uygulama sunucusu vardır. Topoloji zamana göre bölümlenmiştir. Bu nedenle, güncelleştirmeler yalnızca şu anda iş için açık olan düğümde gerçekleşir ve ardından güncelleştirmeler diğer katılan veritabanlarına akar. Bu topoloji aşağıdaki avantajları sağlar:
Yalıtım olmadan bağımsızlık: Her ofis verileri bağımsız olarak ekleyebilir, güncelleştirebilir veya silebilir, ancak diğer tüm katılan veritabanlarına çoğaltıldığı için verileri de paylaşabilir.
Hata durumunda veya katılan veritabanlarından birinde veya birden fazlasında bakım yapmaya izin vermek için daha yüksek kullanılabilirlik.
Yukarıdaki çizimde bir düğümün üç düğümlü topolojiye eklenmesi gösterilmektedir. Bu senaryoda aşağıdaki nedenlerle bir düğüm eklenebilir:
Çünkü başka bir ofis açıldı.
Bir disk hatası veya başka bir önemli hata oluşursa bakımı desteklemek veya hataya dayanıklılığı artırmak için daha yüksek kullanılabilirlik sağlamak.
Hem üç hem de dört düğümlü topolojilerde tüm veritabanlarının diğer tüm veritabanlarını yayımladığını ve abone olduğunu fark edin. Bu, bir veya daha fazla düğümün bakım gereksinimleri veya hataları varsa maksimum kullanılabilirlik sağlar. Düğümler eklendikçe kullanılabilirlik ve ölçeklenebilirlik gereksinimlerini performans ile dağıtım ve yönetim karmaşıklığı arasında dengelemeniz gerekir.
Eşler Arası Çoğaltmayı Yapılandırma
Eşler arası çoğaltma topolojisini yapılandırmak, bir dizi standart işlem yayınını ve aboneliği yapılandırmaya benzer. Aşağıdaki makalelerde açıklanan adımlar, eşler arası topolojiyi gösteren önceki çizimde sol tarafta gösterilen yapılandırmaya benzer şekilde üç düğümlü bir sistemin yapılandırmasını gösterir.
TLS 1.3 şifrelemeyi yapılandırma
SQL Server 2025 (17.x), eşler arası çoğaltma için TDS 8.0 desteği sağlar ve bunlar şunlardır:
- ÇOĞALTMA aracılarını SQL Server 2025 (17.x) örnekleri arasında ve SQL Server 2025 (17.x) ile Azure SQL Yönetilen Örneği arasında TLS 1.3 şifrelemesi kullanacak şekilde yapılandırma.
- Çoğaltma topolojisindeki SQL Server 2025 (17.x) örnekleri arasındaki örnekler arası bağlı sunucu iletişimi için varsayılan şifreleme. SQL Server 2025'teki (17.x) bağlı sunucular, varsayılan olarak
Encrypt=Mandatoryşifreleme olan OLE DB v19 sürücüsünü kullanır.
Uyarı
Uzak dağıtımcı ile çoğaltma topolojileri için:
Eşler Arası Çoğaltma kullanma konusunda dikkat edilmesi gerekenler
Bu bölümde, eşler arası çoğaltma kullanırken göz önünde bulundurmanız gereken bilgiler ve yönergeler sağlanır.
Genel Dikkat Edilmesi Gerekenler
Eşler arası çoğaltma yalnızca SQL Server'ın kurumsal sürümünde kullanılabilir.
Eşler arası çoğaltmaya katılan tüm veritabanları aynı şemayı ve verileri içermelidir:
Nesne adları, nesne şeması ve yayın adları aynı olmalıdır.
Yayınlar şema değişikliklerinin çoğaltılması için izin vermelidir. (Bu, yayın özelliği replicate_ddl için varsayılan ayar olan 1 ayarıdır.) Daha fazla bilgi için bkz. Yayın Veritabanlarında Şema Değişiklikleri Yapma.
Satır ve sütun filtreleme desteklenmez.
Her düğüm kendi dağıtım veritabanını kullanmalıdır. Bu, tek bir hata noktasına sahip olma olasılığını ortadan kaldırır.
Tablolar ve diğer nesneler, tek bir yayın veritabanındaki birden çok eşler arası yayına eklenemez.
Herhangi bir abonelik oluşturulmadan önce bir yayının eşler arası çoğaltma için etkinleştirilmesi gerekir.
Abonelikler bir yedekleme kullanılarak veya seçeneği kullanılarak
replication support onlybaşlatılmalıdır. Daha fazla bilgi için bkz. Anlık Görüntü Olmadan İşlemSel Abonelik Başlatma.Kimlik sütunlarını kullanmayın. Kimlikleri kullanırken, katılan her veritabanında tablolara atanan aralıkları el ile yönetmeniz gerekir. Daha fazla bilgi için bkz . El ile kimlik aralığı yönetimi için aralık atama.
Özellik Kısıtlamaları
Eşler arası çoğaltma, işlem çoğaltmasının temel özelliklerini destekler, ancak aşağıdaki seçenekleri desteklemez:
Anlık görüntü ile başlatma ve yeniden başlatma.
Satır ve sütun filtreleri.
Zaman damgası sütunları.
SQL Server Olmayan Yayımcılar ve Aboneler.
Abonelikleri anında güncelleştirme ve kuyruğa alınmış güncelleştirme.
Anonim abonelikler.
Kısmi abonelikler.
Eklenebilir abonelikler ve dönüştürülebilir abonelikler. (Bu seçeneklerin her ikisi de SQL Server 2005'te (9.x) kullanım dışı bırakıldı.)
Paylaşılan Dağıtım Aracıları.
Dağıtım Aracısı parametresi -SubscriptionStreams ve Günlük Okuyucu Aracısı parametresi -MaxCmdsInTran.
Makale özellikleri
@destination_ownerve@destination_table.Eşler Arası işlem çoğaltması, Eşler Arası yayına tek yönlü işlem aboneliği oluşturmayı desteklemez
Eşler Arası işlem çoğaltması, birincil anahtarının bir parçası olarak hesaplanan sütunlar içeren tabloları yayımlamayı desteklemez.
Aşağıdaki özelliklerin dikkate alınması gereken özel noktaları vardır:
Yayın özelliği
@allow_initialize_from_backuptrue değerini gerektirir.makale özelliği
@replicate_ddltrue değerini gerektirir;@identityrangemanagementoptionel ile değerini gerektirir ve@status24 seçeneğinin ayarlanmasını gerektirir.makale özellikleri
@ins_cmd,@del_cmdve@upd_cmdiçin değer SQL olarak ayarlanamaz.Abonelik özelliği
@sync_typeyok veya otomatik bir değer gerektirir.SQL Server 2019 (15.x) CU 13 yayın
@p2p_confictdetection_policyözelliğini tanıtır. Varsayılan parametre değeridiroriginatoridve çakışmayı kaynak kimliği temelinde çözer. Parametre değeri,lastwriterçakışmayı son yazıcıya göre çözer.
Bakım Konuları
Bazı eylemler sistemin sessiz olmasını gerektirir. Bu, yayımlanan tablolardaki etkinliğin tüm düğümlerde durdurulması ve her düğümün diğer tüm düğümlerden tüm değişiklikleri aldığından emin olmak anlamına gelir.
| Eylem | YALNıZCA SQL Server 2005 eşleri veya SQL Server 2008 eşleri ve üzeri ile SQL Server 2005 eşlerinin karışımı | YALNıZCA SQL Server 2005 eşleri veya SQL Server 2008 eşleri ve üzeri ile SQL Server 2005 eşlerinin karışımı | SQL2008 eşleri ve üzeri | SQL2008 eşleri ve üzeri |
|---|---|---|---|---|
| Topolojiye düğüm ekleme | Tam topolojide 2 düğüm: Sessiz moda alma gerekmez. kullanın sync_type = 'initialize with backup'. |
2'den fazla düğüm: Sessiz moda alma gerekiyor. |
sync_type = 'replication support only': Sessiz moda alma gerekiyor. |
sync_type = 'initialize with backup' ve 'initialize from lsn': Sessiz moda gerek yoktur. |
Topoloji şeması değişiklikleri (makale ekleme veya bırakma) sessiz moda alma gerektirir. Daha fazla bilgi için bkz . Eşler Arası Topolojiyi Yönetme (Çoğaltma Transact-SQL Programlama).
Bir düğümü topolojiden kaldırmak için hiçbir zaman sessiz moda gerek kalmaz.
sp_changearticle kullanarak makale özelliklerinin değiştirilmesi hiçbir zaman sessiz moda alma gerektirmez. İzin verilebilen değişiklikler (P2P için), , description, ins_cmdve upd_cmd özellikleridirdel_cmd.
Makale Şeması değişiklikleri (sütun ekleme/bırakma) hiçbir zaman sessiz moda alma gerektirmez.
Makale ekleme: Var olan bir yapılandırmaya makale eklemek için sistemi sessize almalıyız, CREATE TABLE deyimini yürütmeli ve topolojideki her düğüme ilk verileri yüklemeliyiz ve yeni makaleyi topolojideki her düğüme eklemeliyiz.
Makale bırakılıyor: Tüm düğümlerde tutarlı bir durum istiyorsak topolojiyi sessize almalıyız
Daha fazla bilgi için bkz . Bir Çoğaltma Topolojisini Sessize Alma (Çoğaltma Transact-SQL Programlama) ve Eşler Arası Topolojiyi Yönetme (Çoğaltma Transact-SQL Programlama).
Eşler arası topolojiye yeni bir düğüm eklerseniz, yalnızca yeni düğüm eklendikten sonra oluşturulan yedeklemelerden geri yüklemeniz gerekir.
Eşler arası topolojide abonelikleri yeniden başlatamazsınız. Bir düğümün verilerin yeni bir kopyasına sahip olduğundan emin olmanız gerekiyorsa düğümde bir yedeklemeyi geri yükleyin.