DÜZELTME: Microsoft SQL Server 2005'te birleştirme çoğaltma sürelerinin senkronizasyon işlemi

Hata #: 50002786 (SQL Hotfix)

Microsoft, Microsoft SQL Server 2005 düzeltmelerini indirilebilir bir dosya olarak dağıtır. Düzeltmeler birikmeli olduğundan, her yeni sürüm önceki SQL Server 2005 düzeltme sürümüne dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir.

Belirtiler

Aşağıdaki senaryoyu göz önünde bulundurun. Microsoft SQL Server 2005'te birleştirme çoğaltma işlemini yapılandırırsınız. Ardından anlık görüntübir aboneye dağıtılır. Bu senaryoda, verileri eşitlemek için Birleştirme Aracısı çalıştırdığınızda, Birleştirme Aracısı depolanan sp_MSmakegeneration yordamı aradığında işlem zaman ları doluyor. Ayrıca, işlem saatleri bittikten sonra abonenin çoğaltılan veritabanına karşı aşağıdaki ifadeyi çalıştırdığınızda, sorgu soruna duyarlı bazı kayıtları döndürür:

select * from dbo.MSmerge_genhistory gh where not exists       (select * from dbo.MSmerge_contents as mc       where mc.generation = gh.generation)and not exists      (select * from dbo.MSmerge_tombstone as ts       where ts.generation = gh.generation)and genstatus = 0union select * from dbo.MSmerge_genhistory gh where exists       (select * from dbo.MSmerge_contents as mc      where mc.generation = gh.generation      and mc.tablenick <> gh.art_nick)or exists      (select * from dbo.MSmerge_tombstone as ts      where ts.generation = gh.generation      and ts.tablenick <> gh.art_nick)and genstatus = 0

Neden

MSmerge_genhistory tablosunda aşağıdaki koşullardan birini karşılayan bir satır olduğundan, bu sorun oluşur:

  • Nesil, MSmerge_tombstone tablosunda veya MSmerge_contents tablosunda eşlenen hiçbir değişiklik yoktur.

  • Nesle eşlenen bir veya daha fazla satır, MSmerge_tombstone tablodaki tablo sütununda veya MSmerge_contents tablosunda yanlış bir değere sahiptir.

Bu durum, depolanan sp_MSmakegeneration yordamın sonsuz bir döngüye girmesine neden olur.

Çözüm

Bu sorunun düzeltmesi ilk olarak Kümülatif Güncelleştirme 8'de yayımlandı. SQL Server 2005 Hizmet Paketi 2 için bu kümülatif güncelleştirme paketinin nasıl elde edilebildiği hakkında daha fazla bilgi için, Makaleyi Microsoft Bilgi Bankası'nda görüntülemek için aşağıdaki makale numarasını tıklatın:

951217 SQL Server 2005 Servis Paketi 2 için kümülatif güncelleme paketi 8Not Yapılar birikmeli olduğundan, her yeni düzeltme sürümü önceki SQL Server 2005 düzeltme sürümüne dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümü uygulamanızı önerir. Daha fazla bilgi için, Makaleyi Microsoft Bilgi Bankası'nda görüntülemek için aşağıdaki makale numarasını tıklatın:

937137 SQL Server 2005 Service Pack 2 yayımlandıktan sonra piyasaya sürülen SQL Server 2005 yapılmıMicrosoft SQL Server 2005 düzeltmeleri belirli SQL Server hizmet paketleri için oluşturulur. SQL Server 2005 Service Pack 2 kurulumuiçin bir SQL Server 2005 Service Pack 2 düzeltmesi uygulamanız gerekir. Varsayılan olarak, bir SQL Server hizmet paketinde sağlanan düzeltme sonraki SQL Server hizmet paketine dahil edilir.

Geçici Çözüm

Bu sorunu çözmek için aşağıdaki adımları izleyin:

  1. Tamamlanmayan eşitleme işlemini iptal edin.

  2. Yayın için generation_leveling_threshold ayarı elde etmek için aşağıdaki ifadeleri çalıştırın:

    use <Publication Database Name>goexec sp_helpmergepublication @publication = '<Publication Name>'

    generation_leveling_threshold ayarın değerini not edin.

  3. Üretim tesviye ve üretim birleştirme devre dışı devre dışı kalmak için aşağıdaki ifadeleri çalıştırın:

    use <Publication Database Name>exec sp_changemergepublication @publication = '<Publication Name>', @property = 'generation_leveling_threshold', @value = 0
  4. Yayın için verileri eşitle.

  5. Eşitleme başarıyla tamamlandıktan sonra, generation_leveling_threshold ayarını adım 2'de belirttiğiniz değere sıfırla. Bunu yapmak için aşağıdaki ifadeleri çalıştırın:

    use <Publication Database Name>exec sp_changemergepublication @publication = '<Publication Name>', @property = 'generation_leveling_threshold', @value = <Value>

Bu sorunu çözmek için bu yöntemi kullandıktan sonra, başka bir abone oluşturmayı işlemeye çalışırsa bu sorun yeniden oluşur. Sorunla karşılaşan tüm aboneler için bu adımları yinelemeniz gerekir.

Durum

Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.

Ek Bilgi

Hangi dosyaların değiştirilmeleri hakkında daha fazla bilgi ve bu Microsoft Bilgi Bankası makalesinde açıklanan düzeltmeyi içeren kümülatif güncelleştirme paketini uygulamak için ön koşullar hakkında bilgi almak için aşağıdaki makale numarasını Microsoft Bilgi Bankası'ndaki makale:

951217 SQL Server 2005 Servis Paketi 2 için kümülatif güncelleme paketi 8

Başvurular

SQL Server Service Pack 2'den sonra kullanılabilen yapılar listesi hakkında daha fazla bilgi için, Makaleyi Microsoft Bilgi Bankası'nda görüntülemek için aşağıdaki makale numarasını tıklatın:

937137 SQL Server 2005 Service Pack 2 yayımlandıktan sonra piyasaya sürülen SQL Server 2005 yapılmıSQL Server için Artımlı Hizmet Modeli hakkında daha fazla bilgi için, Makaleyi Microsoft Bilgi Bankası'nda görüntülemek için aşağıdaki makale numarasını tıklatın:

935897 Bildirilen sorunlar için düzeltmeler sunmak için SQL Server ekibinden bir Artımlı Servis Modeli kullanılabilirSQL Server 2005 Hizmet Paketi 2'nin nasıl edinilir hakkında daha fazla bilgi için, Makaleyi Microsoft Bilgi Bankası'ndaki görüntülemek için aşağıdaki makale numarasını tıklatın:

913089 SQL Server 2005 için en son hizmet paketi nasıl alınır?Sql Server 2005 Service Pack 2'deki yeni özellikler ve geliştirmeler hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:

http://go.microsoft.com/fwlink/?LinkId=71711SQL Server güncelleştirmelerinin adlandırma şeması hakkında daha fazla bilgi için, Makaleyi Microsoft Bilgi Bankası'nda görüntülemek için aşağıdaki makale numarasını tıklatın:

822499 Microsoft SQL Server yazılım güncelleştirme paketleri için yeni adlandırma şemasıYazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için, Makaleyi Microsoft Bilgi Bankası'nda görüntülemek için aşağıdaki makale numarasını tıklatın:

824684 Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Microsoft Insider 'a katılın

Bu bilgi yardımcı oldu mu?

Geri bildiriminiz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×