İşlemsel Çoğaltma

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

Bu makalede SQL Server için işlemsel çoğaltma tanıtılmaktadır. İşlem çoğaltması genellikle yayın veritabanı nesnelerinin ve verilerinin anlık görüntüsüyle başlar. İlk anlık görüntü alınır alınmaz, Publisher'da yapılan sonraki veri değişiklikleri ve şema değişiklikleri genellikle aboneye gerçekleşirken (neredeyse gerçek zamanlı olarak) teslim edilir. Veri değişiklikleri Aboneye Yayımcı'da gerçekleşen aynı sırada ve aynı işlem sınırları içinde uygulanır; bu nedenle, yayın içinde işlem tutarlılığı garanti edilir.

Genel Bakış

İşlem çoğaltması genellikle sunucudan sunucuya ortamlarda kullanılır ve aşağıdaki durumların her birinde uygundur:

  • Artımlı değişikliklerin abonelere gerçekleştikçe yayılmasını istiyorsunuz.

  • Uygulama, Publisher'da değişiklik yapıldığında ve değişikliklerin Aboneye ulaşması arasında düşük gecikme süresi gerektirir.

  • Uygulama ara veri durumlarına erişim gerektirir. Örneğin, bir satır beş kez değişirse, işlemsel çoğaltma bir uygulamanın yalnızca satırdaki net veri değişikliğine değil, her bir değişikliğe yanıt vermesine (örneğin, bir tetikleyicinin çalıştırılması gibi) olanak tanır.

  • Yayımcı çok yüksek hacimli ekleme, güncelleştirme ve silme etkinliğine sahiptir.

  • Publisher veya Abone, Oracle gibi SQL Server olmayan bir veritabanıdır.

Varsayılan olarak, değişiklikler Yayımcı'ya geri yayılmadığından, işlem yayınlarına aboneler salt okunur olarak ele alınmalıdır. Ancak işlemsel çoğaltma, Abone tarafında güncelleştirmelere izin veren seçenekler sunar.

Uyarı

Azure SQL Yönetilen Örnek, anlık görüntü ve işlem çoğaltması için yayımcı, dağıtıcı ve abone olarak kullanılabilir. Azure SQL Veritabanı'ndaki veritabanları yalnızca anlık görüntü ve işlem çoğaltması için gönderim aboneleri olabilir. Daha fazla bilgi için bkz. Azure SQL Veritabanı ve Azure SQL Yönetilen Örneği ile işlem çoğaltması.

TLS 1.3 şifrelemeyi yapılandırma

SQL Server 2025 (17.x), işlem çoğaltması 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.

İşlemsel Çoğaltma Nasıl Çalışır?

İşlemsel çoğaltma, SQL Server Anlık Görüntü Aracısı, Günlük Okuyucu Aracısı ve Dağıtım Aracısı tarafından gerçekleştirilir. Snapshot Agent, yayımlanan tabloların ve veritabanı nesnelerinin şemasını ve verilerini içeren anlık görüntü dosyalarını hazırlar, dosyaları anlık görüntü klasöründe depolar ve eşitleme işlerini Dağıtımcı'daki dağıtım veritabanında kaydeder.

Günlük Okuyucu Aracısı, işlem çoğaltması için yapılandırılan her veritabanının işlem günlüğünü izler ve çoğaltma için işaretlenen işlemleri işlem günlüğünden güvenilir bir depolama ve iletme kuyruğu işlevi gören dağıtım veritabanına kopyalar. Dağıtım Aracısı ilk anlık görüntü dosyalarını anlık görüntü klasöründen ve dağıtım veritabanı tablolarında tutulan işlemleri Abonelere kopyalar.

Yayımcıda yapılan artımlı değişiklikler, Dağıtım Aracısının zamanlamasına göre Abonelere iletilir; Dağıtım Aracısı, gecikmeyi en aza indirmek için sürekli olarak veya zamanlanmış aralıklarla çalışabilir. Verilerdeki değişikliklerin Yayımcı'da yapılması gerektiğinden (işlemsel çoğaltma, anında güncelleştirme ya da sıraya alınmış güncelleştirme seçenekleri kullanılmadan yapıldığında), güncelleştirme çakışmaları önlenir. Sonuç olarak, tüm Aboneler Yayımcı ile aynı değerleri elde eder. İşlemsel çoğaltma ile anında güncelleştirme ya da kuyruğa alınmış güncelleştirme seçenekleri kullanılırsa, güncelleştirmeler Abone'de yapılabilir ve kuyruğa alınmış güncelleştirme kullanıldığında çakışmalar ortaya çıkabilir.

Aşağıdaki çizimde işlem çoğaltmasının temel bileşenleri gösterilmektedir.

İşlem çoğaltma bileşenleri ve veri akışı

İlk Veri Kümesi

Yeni bir işlemsel çoğaltma abonesi, bir yayımcıdan artımlı değişiklikleri alabilmeden önce, yayımcıdaki tablolarla aynı şema ve verilere sahip tabloları içermelidir. İlk veri kümesi genellikle Anlık Görüntü Aracısı tarafından oluşturulan ve Dağıtım Aracısı tarafından dağıtılan ve uygulanan bir anlık görüntüdür. İlk veri kümesi bir yedekleme veya SQL Server Integration Services gibi başka bir yolla da sağlanabilir.

Anlık görüntüler dağıtıldığında ve Abonelere uygulandığında, yalnızca ilk anlık görüntüleri bekleyen Aboneler etkilenir. Bu yayının diğer aboneleri (önceden başlatılmış olanlar) etkilenmez.

Eşzamanlı Anlık Görüntü İşleme

Anlık görüntü çoğaltma, anlık görüntü oluşturma süresi boyunca çoğaltmanın parçası olarak yayımlanan tüm tablolara paylaşılan kilitler yerleştirir. Bu, yayımlama tablolarında güncelleştirmelerin yapılmasını engelleyebilir. İşlemsel çoğaltmada varsayılan olarak kullanılan eşzamanlı anlık görüntü işleme özelliği, anlık görüntü oluşturma süreci boyunca paylaşım kilitlerini korumaz; bu sayede çoğaltma ilk anlık görüntü dosyalarını oluştururken kullanıcılar çalışmalarını kesintisiz olarak sürdürebilir.

Anlık Görüntü Aracısı

Snapshot Agent’ın işlemsel çoğaltmada başlangıç anlık görüntüsünü uygulamak için kullandığı yordamlar, anlık görüntü çoğaltmasında kullanılan yordamlarla aynıdır (eşzamanlı anlık görüntü işleme konusunda daha önce belirtildiği üzere olanlar dışında).

Anlık görüntü dosyaları oluşturulduktan sonra, bunları Microsoft Windows Gezgini'ni kullanarak anlık görüntü klasöründe görüntüleyebilirsiniz.

Verileri ve Günlük Okuyucu Aracısını Değiştirme

İşlem Günlüğü Okuyucu Aracısı, Dağıtıcı'da çalışır; genellikle kesintisiz olarak çalışır, ancak belirlediğiniz bir zamanlamaya göre çalışacak şekilde de ayarlanabilir. Yürütülürken, Günlük Okuyucu Aracısı önce yayın işlem günlüğünü (normal SQL Server Database Engine işlemleri sırasında işlem izleme ve kurtarma için kullanılan veritabanı günlüğü) okur ve çoğaltma için işaretlenmiş işlemlerdeki verilerde yapılan tüm INSERT, UPDATEve DELETE deyimlerini veya diğer değişiklikleri tanımlar. Ardından aracı, bu işlemleri toplu olarak Dağıtımcı'daki dağıtım veritabanına kopyalar. Günlük Okuyucu Aracısı, günlükten çoğaltma için işaretlenmiş bir sonraki komut kümesini almak üzere dahili saklı yordam sp_replcmds'i kullanır. Daha sonra dağıtım veritabanı, değişikliklerin abonelere gönderildiği depolama ve iletme kuyruğu olur. Dağıtım veritabanına yalnızca kaydedilmiş işlemler gönderilir.

İşlem grubunun tamamı dağıtım veritabanına başarıyla yazıldıktan sonra kesinleştirilir. Komutların her toplu işlemi Dağıtıcıya gönderilip işlendiğinde, Günlük Okuyucu Aracısı çoğaltmanın en son nerede tamamlandığını işaretlemek üzere sp_repldone çağrısını yapar. Son olarak, aracı işlem günlüğünde temizlenmeye hazır satırları işaretler. Hâlâ çoğaltılmayı bekleyen satırlar temizlenmez.

İşlem komutları, tüm Abonelere yayılana kadar veya dağıtım saklama süresi üst sınırına ulaşılana kadar dağıtım veritabanında depolanır. Aboneler, işlemleri Yayıncıda uygulandıkları aynı sırayla alır.

Dağıtım Aracısı

Dağıtım Aracısı, gönderme temelli abonelikler için Dağıtımcı'da, istek temelli abonelikler için de Abone'de çalışır. Aracı, dağıtım veritabanındaki işlemleri Aboneye taşır. Abonelik doğrulama için işaretlenmişse Dağıtım Aracısı, Yayımcı ve Abone verilerinin eşleşip eşleşmediğini de denetler.

Yayın türleri

İşlemsel çoğaltma dört yayın türü sunar:

Yayın Türü Açıklama
Standart işlem yayını Abonedeki tüm verilerin salt okunur olduğu topolojiler için uygundur (işlemsel çoğaltma bunu Abone'de zorunlu kılmaz).

Standart işlem yayınları, Transact-SQL veya Çoğaltma Yönetimi Nesneleri (RMO) kullanılırken varsayılan olarak oluşturulur. Yeni Yayın Sihirbazı kullanılırken, Bunlar Yayın Türü sayfasında İşlem yayını seçilerek oluşturulur.

Yayın oluşturma hakkında daha fazla bilgi için bkz. Veri Yayımlama ve Veritabanı Nesneleri.
Güncellenebilir aboneliklere sahip işlemsel yayın Bu yayın türünün özellikleri şunlardır:

-Her konumda bir Yayımcı ve bir Abone ile aynı veriler bulunur.
-Abonede satırları güncellemek mümkündür
-Bu topoloji, yüksek kullanılabilirlik ve okuma ölçeklenebilirliği gerektiren sunucu ortamları için idealdir.

Daha fazla bilgi için bkz . Güncelleştirilebilir Abonelikler.
Eşler arası topoloji Bu yayın türünün özellikleri şunlardır:
- Her konumda aynı veriler bulunur ve hem Yayımcı hem de Abone işlevi görür.
- Aynı satır aynı anda yalnızca bir konumda değiştirilebilir.
- Çakışma algılamayı destekler
- Bu topoloji, yüksek kullanılabilirlik ve okuma ölçeklenebilirliği gerektiren sunucu ortamları için idealdir.

Daha fazla bilgi için bkz. Eşler Arası İşlemsel Çoğaltma.
Çift yönlü işlemsel çoğaltma Bu yayın türünün özellikleri şunlardır:
Çift yönlü çoğaltma, Eşler Arası çoğaltmaya benzer, ancak çakışma çözümlemesi sağlamaz. Buna ek olarak, çift yönlü çoğaltma 2 sunucuyla sınırlıdır.

Daha fazla bilgi için bkz. Çift Yönlü İşlem Çoğaltması