Aracılığıyla paylaş


Veri abonelerine teslim değil

Veri abonelerine teslim değil, görünüyorsa, geniş iki nedeni vardır:

  • Verileri süzme nedeniyle, Aracısı sorunu veya başka bir çoğaltma hatası uygulanmıyor.

  • Uygulandıktan sonra veri Abone tarafında siliniyor.

Açıklama

Veri abonelerine teslim değil olası nedeni vardır:

  • Tablo filtre ve belirli bir abone için teslim etmek için hiçbir değişiklik yoktur.

  • Bir veya daha fazla aracıları çalışmıyorsa veya bir hata ile başarısız oluyor.

  • Bir işlemsel abonelik anlık görüntü başlatıldı ve yayın oluşturulduğundan bu yana değişiklikleri yayımcı üzerinde olmuştur.

  • Çoğaltma, saklı yordam bir işlemsel yayım yürütme abone adresindeki farklı sonuçlar üretir.

  • INSERT saklı yordam tarafından kullanılan işlem makalede karşılanmaması bir koşul içerir.

  • Bir kullanıcı, bir çoğaltma komut dosyası veya başka bir uygulama tarafından veriler silinir.

  • Tetikleyici tarafından veriler silinir veya tetikleyici rollback deyim içerir.

Kullanıcı eylemi

Veri abonelerine teslim değil neden Tanıla denemeden önce doğrulaması kullanmanızı öneririz veya tablediff yardımcı programı satır eksik olduğunu doğrulamak için:

  • Dağıtım Aracısı veya Birleştirme Aracısı çalıştırabilir, veri ikili sağlama toplamı doğrulaması çalıştırarak eksik olup olmadığını belirleyin.Satır sayısı doğrulama de kullanabilirsiniz, ancak bu yöntem farklılıkları verilerin içeriğini göster.Daha fazla bilgi için bkz: Çoğaltılmış veri doğrulama.

  • Dağıtım Aracısı veya Birleştirme Aracısı çalışmıyorsa, verileri çalıştırarak eksik olup olmadığını tablediff yardımcı programı.Çoğaltılan tablolarda bu yardımcı programı kullanma hakkında daha fazla bilgi için bkz: Nasıl yapılır: Karşılaştır tablolar farkları (çoğaltma programlama) yinelenmiş.

Eksilen verilerin nedenini adresleme

Aşağıdaki eylemleri "Açıklama" listelenen nedenlerden adresi Bölüm:

  • Tablo filtre ve belirli bir abone için teslim etmek için hiçbir değişiklik yoktur.

    Yayın için filtre ölçütü karşılamadığı için Abone tarafında eksik satırları çoğaltılmamış olduğunu mümkündür.Her türlü çoğaltma statik filtreler desteklemek ve birleştirme çoğaltma de destekler filtreleri ve birleşim filtreleri parametreli.Daha fazla bilgi için bkz: Veri süzme yayımlandı.Bir veya daha fazla makaleleri de yayın olan filtre uygulanmış, aşağıdaki yordamları yürütmek ve filtre yan tümce tümce tümce değerini doğrulayın:

    Filtre yan tümce tümce tümce herhangi biri eksik satırları süzme ölçütlerine olup olmadığını belirlemek için kullanın.Örneğin, filtre yan tümce tümce tümce karşı yürütmesine tablo adresindeki yayımcı ve döndürülen verileri veri abone adresindeki eşleşip eşleşmediğini belirlemek.

  • Bir veya daha fazla aracıları çalışmıyorsa veya bir hatayla başarısız oluyor:

  • Bir işlemsel abonelik anlık görüntü başlatıldı ve yayın oluşturulduğundan bu yana değişiklikleri yayımcı üzerinde olmuştur:

    • Bir yayın tarafından başlatılan etkinleştirirseniz, bir yedek, yayımlanmış tabloları değişiklikleri izlenen yayın veritabanı günlüğüne yayını oluşturulduktan hemen.Bir abonelik başlatıldığında, bunlar hala kullanılabilir olduğu sürece bekleyen değişiklikler için abone teslim dağıtım veritabanı.

    • Kullanarak bir abonelik başlatmak, bir yedek kopyadan başlatılıyor aksine yalnızca çoğaltma desteği seçeneği, sizin veya uygulamanız gerekir emin veri ve şema gerektiği gibi at eşitlendiğini saat Abonelik Ekle.Örneğin, yoksa faaliyet yayımcı üzerinde arasında saat veri ve şema abone ve abonelik eklendiği saat kopyalanır, bu aktivitesinden kaynaklanan değişiklikler için abone yinelenmiş.

    Daha fazla bilgi için bkz: Bir anlık görüntü olmadan bir işlemsel abonelik başlatılıyor.

  • Çoğaltma, saklı yordam bir işlemsel yayım yürütme abone adresindeki farklı sonuçlar üretir.

    Yürütülmesini çoğalttıysanız bir saklı yordam, yordam tanımı için abone çoğaltılan abonelik başlatıldığında; yordam Yayımcı tarafında çalıştırıldığında, çoğaltma abone adresindeki ilgili yordamı yürütür.Daha fazla bilgi için bkz: İşlem çoğaltma yayımlama saklı yordamı yürütme.

    Saklı yordam farklı veri yayımcı adresindeki abone veya davranır farklı bir eylem gerçekleştirir, sapma durumu oluşabilir.Bir hesaplama gerçekleştirir ve bu hesaplamaya dayalı veri ekleyen bir yordam göz önünde bulundurun.Abone adresindeki hesaplamanın farklı verilere dayanıyorsa, abone süzülmüş, Abone tarafında eklenen sonucu farklı olabilir veya INSERT hiç ortaya çıkabilir.

  • INSERT saklı yordam tarafından kullanılan işlem makalede karşılanmaması bir koşul içerir.

    Varsayılan olarak, işlem çoğaltma aboneleri değişiklikleri yaymak için saklı yordamlar küme kullanır.Ayrıca, uygulamanızın gerektirdiği iş mantığı eklemek için bu yordamları özelleştirebilirsiniz.Daha fazla bilgi için bkz: Değişiklikleri için işlemsel makaleleri nasıl yayılma belirtme.Yoksa Ekle saklı yordam , INSERT oluşmaz karşılanır değil kendi mantığı içinde bir koşul içerir.Abone adresindeki bir tablo (tablo a) belirli bir değeri başka bir tabloya (tablonun b) INSERT izin vermeden önce denetlemek için özelleştirilmiş bir yordam göz önünde bulundurun.Değer bir hata nedeniyle a tablosunda kullanılabilir değilse veya verileri bu tabloya henüz çoğaltılmamıştır çünkü beklenen satır tablo B'den eksik

  • Veri bir kullanıcı, bir çoğaltma komut dosyası veya başka bir uygulama tarafından siliniyor:

    • Kullanıcıların veri abone adresindeki silmek izin vermek isterseniz, birleştirme çoğaltması, güncelleştirilebilir abonelikleri ile işlem çoğaltma veya eşler arası işlem çoğaltma kullanın.Sonuçta Yayımcı ve abone veri yakınsama için Yayımcı için siler yayılır.Daha fazla bilgi için bkz: Birleştirme çoğaltma genel bakış ve İşlemsel kopyalama için yayın türleri.

    • Kullanıcıların veri abone adresindeki silmelerini önlemek istiyorsanız, Word ' ü geri alma içeren ve (önleyen tetikleyici bir işlem çoğaltma aracısı gerçekleştirdiğinde tetikleme) not for REPLICATION seçeneğini kullanan her tablo için bir tetikleyici oluşturun.Örneğin:

      USE AdventureWorks2008R2;
      GO
      CREATE TRIGGER prevent_user_dml
      ON Person.Address
      FOR INSERT, UPDATE, DELETE
      NOT FOR REPLICATION
      AS
      ROLLBACK;
      

      Daha fazla bilgi için bkz: CREATE TRIGGER (Transact-SQL) ve Denetleme sınırlamaları, kimlikleri ve tetikleyiciler not ile çoğaltma.

    • Çoğaltma komut dosyaları önce ve sonra anlık görüntü görüntüsünü uygulanır ve eşitleme sırasında yürütmek sağlar.The @pre_snapshot_script and @post_snapshot_script parameters of sp_addpublication and sp_addmergepublication allow you to specify scripts to run before and after the snapshot is applied.Daha fazla bilgi için bkz: Önce ve sonra bir Snapshot uygulanan komut dosyalarını çalıştırma.Saklı yordam sp_addscriptexec sayede yürütmek eşitleme işlemi sırasında bir komut dosyası.Daha fazla bilgi için bkz: Nasıl yapılır: Komut dosyaları (çoğaltma Transact-sql programlama) eşitleme sırasında çalıştırma.

      Bu komut dosyaları, genellikle oturumları Abone tarafında ekleme gibi yönetimsel görevleri için kullanılır.Verileri salt okunur olarak ele alınması bir abone adresindeki silmek için kullanılan komut dosyaları, yönetici bu yakınsaması neden emin olmanız gerekir.

  • Veriler bir tetikleyici tarafından silinir veya tetikleyici rollback deyim içerir.

    Yakınsaması veya başka sorunlara neden olacak şekilde abone adresindeki Tetikleyicileri düzgün yönetiliyor olması gerekir:

    • Birleştirme çoğaltması, güncelleştirilebilir abonelikleri ile işlem çoğaltma veya eşler arası işlem çoğaltma kullanıyorsanız, Tetikleyiciler abone veri değişiklikleri yalnızca sağlamalıdır.Daha fazla bilgi için bkz: Birleştirme çoğaltma genel bakış ve İşlemsel kopyalama için yayın türleri.

    • Çoğu durumda, tetikleyici not for REPLICATION seçeneğini kullanmanız gerekir.Tetikleyici rollback deyim içerir ve tetikleyici not for REPLICATION seçeneğini kullanmak, bir abone için çoğaltıldığı satırları uygulanmayabilir.

    • İçin işlem çoğaltma, kaydetme ve geri alma ifadeleri de tetikleyici kullanma ve xact_abort ayarı ile ilgili hususlar vardır.Daha fazla bilgi için bkz: "Tetikleyiciler" kısmında İşlemsel kopyalama için dikkat edilmesi gereken noktalar.

Ayrıca bkz.

Kavramlar