Nasıl Updatable abonelikler çalışma
Işlem çoğaltma için güncelleştirilebilir abonelikler aboneleri için yayımcı değişiklikleri çoğaltmak izin ver.Tetikleyicileri yayımlanmış olan tablolarda eklenen abonelik veritabanı, ve Abone tarafında bir değişiklik yapıldığında, tetikleyici harekete:
Değişikliğin hemen güncelleştirme abonelikler doğrudan yayılır Yayımcı ve kullanma Microsoft Dağıtılmış işlem Düzenleyicisi (MSDTC).
Kuyruğa Alınmış Güncelleştirme Aboneliği değişikliği ilk sıraya bulaşan ve daha sonra uygulanan Yayımcı sıra Okuma Aracısı tarafından.
Yayımcı tarafında yapılan değişiklikler, işlem yayımları salt okunur aboneleri ile aynı şekilde abonelerine çoğaltılır.Daha fazla bilgi için bkz: Nasıl bir işlem çoğaltma Works.
Hemen güncelleştiriliyor
Anlık güncelleştirme abonelikler aşağıdaki bileşenleri'ni kullanın:
Yayımlanan her tablo için sütun izleme
Tablonun güncelleştirilebilir abonelikler, sütunun izin veren bir yayında, yayımlanır msrepl_tran_version tabloya eklenir.Bu sütun, değişiklik izleme ve çakışma algılama için kullanılır.Abone verileri eski bir kopyasını güncelleştirmeleri hemen güncelleştirmek, çakışmaları ortaya.
msdtc
MSDTC, bir Abone tarafında yapılan her değişiklik için yayımcı değişiklik yapılıyor abone arasındaki iki aşamalı yürütme işlemini yönetir.Bu yaklaşım, çünkü tüm bir katılımcı siteleri ile iki aşamalı yürütme kullanarak kullanılabilirlik kısıtlamaları yok yalnızca Yayımcı kullanılabilir olması gerekir.iki aşamalı yürütme kullanarak Yayımcı tarafında değişiklik yapıldıktan sonra diğer aboneleri için Dağıtım Aracısı tarafından çoğaltılır.
Tetikleyicileri tablolarda abonelik veritabanı
Ekleme, güncelleştirme ve silme Tetikleyicileri, yayımlanan her tablo Abonelik veritabanında eklenir.Tetikleyiciler Dağıtım Aracısı tarafından uygulanan değişiklikler Tetikleyiciler ateşlenmesine neden TRIGGER CREATE deyim IÇIN NOT çoğaltma değiştirici kullanılarak oluşturulur.Daha fazla bilgi için bkz: Sınırlamaları, kimlik ve Tetikleyicileri NOT ile denetlemek IÇIN çoğaltma.
Anlık güncelleştirme abonelikler Tetikleyiciler değerlerini de yönetme kimlik and zaman damgası sütunların abone.Değerler sütunların bu türleri için yayımcı sırasında oluşturulan ve iki aşamalı yürütme işlemi bir parçası olarak için abone bulaşan.
Saklı yordamlar
Yayın oluşturma ve güncelleştirme anında abonelikleri için etkinleştirmek, eklemek, güncelleştirmek ve açtığınızda yordamlar silmek için yayımlanan her tablo Yayın veritabanında oluşturulur.Abone tarafında bir değişiklik gerçekleştiğinde bir çoğaltma tetikleyicisi MSDTC üzerinden uzak yordam çağrısı sırasında yayımcı sonra değişikliği uygular uygun saklı yordamına verir.
Yayımcı konumunda depolanan yordamlar, yalnızca abone, en son değiştirilen satırları kendi kopyasını alınan sonra Yayımcı tarafında yapılan değişikliklerle çakışmayacağından değişiklikler uygulanır.Çakışma algılandı, hareket reddetti ve yayıncı ve abone geri.
Aşağıda anlık güncelleştirme Abonelikleri içeren topolojisinde kullanılan ana bileşenleri gösterilmiştir.
Abone tarafında yapılan BIR değişikliği abone üzerinde Tetikleyici tarafından yakalanan tablo.
Tetikleyici MSDTC için uygun çağırır saklı yordam sırasında yayımcı.
Bir çakışma yoksa saklı yordamı, ekleme, güncelleştirme veya silme gerçekleştirir.Çakışma varsa, değişikliği sırasında döndürülüyor Yayımcı ve abone.
Yayımcı bir abone çoğaltılan değişikliklerin sonucu olarak sırasında yapılan değişiklikler için tüm diğer abonelerine göre dağıtım aracısını zamanlamayı yayılır.
Güncelleştirme sıraya alındı
Kuyruğa Alınmış Güncelleştirme Aboneliği aşağıdaki bileşenleri'ni kullanın:
Yayımlanan her tablo için sütun izleme
Tablonun güncelleştirilebilir abonelikler, sütunun izin veren bir yayında, yayımlanır msrepl_tran_version tabloya eklenir.Bu sütun, değişiklik izleme ve çakışma algılama için kullanılır.
Tetikleyicileri tablolarda abonelik veritabanı
Ekleme, güncelleştirme ve silme Tetikleyicileri, yayımlanan her tablo Abonelik veritabanında eklenir.Tetikleyiciler Dağıtım Aracısı tarafından uygulanan değişiklikler Tetikleyiciler ateşlenmesine neden TRIGGER CREATE deyim IÇIN NOT çoğaltma değiştirici kullanılarak oluşturulur.Daha fazla bilgi için bkz: Sınırlamaları, kimlik ve Tetikleyicileri NOT ile denetlemek IÇIN çoğaltma.
Saklı yordamlar
Bir yayını ve için abonelikler, güncelleştirme sıraya Ekle, güncelleştir ve yordamlar silme enable oluşturduğunuzda oluşturulur her yayımlanmış tablo yayın veritabanında.
Saklı yordamlar, yayımcı saat hareketleri için geçerli çakışma algılamasını ve gerekirse, dağıtım veritabanına deftere nakledilen ve sonra da abone için teslim compensating komutları oluşturmak için sıra okuyucu aracı tarafından verilir.
Yayımcı çakışması bilgileri günlüğe kaydetme ve ilgili aboneleri için çakışma bilgisi'isteğe bağlı olarak göndermek için BIR saklı yordam, Yayımcı tarafında da oluşturulur.Bu, çakışma algılanırsa Queue Okuyucu Aracısı tarafından çağrılır.
Microsoft SQL Server sıra
Sistem her abonelik veritabanı içeren tablo MSreplication_queueAbone değişikliklerden saklayan.
SQL Server Sıranın Okuma Aracısı
Sıra Okuma Aracısı değişikliklerden okur MSreplication_queue ve bunları yayımcıya uygular.Daha fazla bilgi için bkz: Çoğaltma sırası Okuma Aracısı.
Aşağıda, kuyruğa alınmış güncelleştirme aboneliği içeren topolojisinde kullanılan ana bileşenleri gösterilmiştir.
Abone tarafında yapılan güncelleştirmeler tarafından Tetikleyicileri abone tablolarda yakalanır.Tetikleyiciler bu güncelleştirmelerini depolar. MSreplication_queue.
Gelen sırası Okuma Aracısı okur. MSreplication_queue, sıraya alınmış hareketleri için uygun uygular yayın saklı yordamları çoğaltma kullanarak.
Sıraya alınmış hareketleri uygulanırken, çakışmaları (varsa) algıladı ve yayın oluşturduğunuzda, bir çakışma çözümleme ilkesine göre çözümlendi.Sonuç olarak, komutları Dengelemesi olabilir (yalnızca çakışmaya neden olan abone için gönderilir) standart işlem çoğaltma dağıtım işlemini kullanarak bir abone bir hareketi geri alma için oluşturulan.Daha fazla bilgi için bkz: Güncelleştirme çakışması algılaması ve çözümlemesi için sıraya alındı.
Yayımcı bir abone çoğaltılan değişikliklerin sonucu olarak sırasında yapılan değişiklikler için tüm diğer abonelerine göre dağıtım aracısını zamanlamayı yayılır.
See Also