Makale numarası: 953568 - Son Gözden Geçirme: 14 Temmuz 2008 Pazartesi - Gözden geçirme: 1.0

Düzeltme: Microsoft SQL Server 2005'te bir birleştirme çoğaltması eşitleme işlemi zaman aşımına uğradı

Hotfix Download is availableHotfiks Yüklemesi Mevcut
Hotfiks taleplerini görüntüle ve indir
Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
# Hata: 50002786 (SQL düzeltmesi)
Microsoft, Microsoft SQL Server 2005 düzeltmeleri tek bir yüklenebilir dosya dağıtır. Düzeltmeleri birikimli olduğu için her yeni sürüm, tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2005 ile birlikte verilen tüm güvenlik düzeltmelerini düzeltin.
Hepsini aç | Hepsini kapa

Belirtiler

Şu senaryoyu inceleyin. Microsoft SQL Server 2005'te bir birleştirme çoğaltması yapılandırın. Sonra anlık görüntü için abone dağıtın. Verileri eşitlemek için Birleştirme Aracısı'nı çalıştırdığınızda sp_MSmakegeneration saklı yordamın Birleştirme Aracısı arar, bu senaryoda, işlem zaman aşımına uğradı.

Ayrıca, işlem zaman aşımına uğradı sonra karşı Yinelenmiş veritabanı abone olan aşağıdaki deyimi çalıştırdığınızda, sorgu sorunu açıktır 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 = 0
union 
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

Bu sorun, aşağıdaki koşullardan birini karşılıyor MSmerge_genhistory tabloda bir satır olduğu için oluşur:
  • Üretimi için MSmerge_tombstone tablosundaki veya MSmerge_contents tablodaki eşleşen herhangi bir değişiklik vardır.
  • Üretimi için eşlenen bir veya daha çok satır MSmerge_tombstone tablosundaki veya MSmerge_contents tablosundaki tablenick sütun yanlış bir değer vardır.
Bu durum sonsuz bir döngüye gitmek sp_MSmakegeneration saklı yordamını sağlar.

Çözüm

Bu sorunla ilgili düzeltme, toplu güncelleştirme 8 önce yayımlanmıştır. SQL Server 2005 Service Pack 2 için bu toplu güncelleştirme paketini elde etme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
951217  (http://support.microsoft.com/kb/951217/LN/ ) SQL Server 2005 Service Pack 2 için toplu güncelleştirme paketi 8
Not Yap?lar birikimli olduğu için her yeni düzeltme yayımlanan tüm düzeltmeleri içerir ve sürüm önceki SQL Server 2005 ile birlikte verilen tüm güvenlik düzeltmelerini düzeltin. Microsoft, bu düzeltmeyi içeren en son düzeltme sürümü uygulama düşündüğünüz önerir. Daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
937137  (http://support.microsoft.com/kb/937137/LN/ ) SQL Server 2005 Service Pack 2'den sonra yayımlanan SQL Server 2005 derlemeleri
Microsoft SQL Server 2005 düzeltmeleri için belirli bir SQL Server hizmet paketlerini oluşturulur. Bir SQL Server 2005 Service Pack 2 düzeltme, SQL Server 2005 Service Pack 2 yüklemeye uygulamanız gerekir. Varsayılan olarak, sonraki SQL Server hizmet paketi ile bir SQL Server hizmet paketinde sağlanan herhangi bir düzeltme bulunmaktadır.

Pratik Çözüm

Bu soruna geçici bir çözüm için, aşağıdaki adımları izleyin:
  1. Eşitleme işlemi tamamlanmaz iptal edin.
  2. Yayını generation_leveling_threshold ayarı'nı edinmek için aşağıdaki kodu çalıştırın:
    use <Publication Database Name>
    go
    exec sp_helpmergepublication @publication = '<Publication Name>'
    
    Generation_leveling_threshold değerini not alın.
  3. Oluşturma seviyelendirme ve oluşturma coalescing devre dışı bırakmak için aşağıdaki kodu çalıştırın:
    use <Publication Database Name>
    exec sp_changemergepublication @publication = '<Publication Name>'
    , @property = 'generation_leveling_threshold'
    , @value = 0
    
  4. Yayının veri eşitleyin.
  5. Eşitleme işlemi başarıyla tamamlandıktan sonra generation_leveling_threshold geri 2. adımda not ettiğiniz değere ayarını sıfırlayın. Bunu yapmak için <a0></a0>, aşağıdaki kodu çalıştırın:
    use <Publication Database Name>
    exec sp_changemergepublication @publication = '<Publication Name>'
    , @property = 'generation_leveling_threshold'
    , @value = <Value>
    
Bu soruna geçici bir çözüm bulmak için bu yöntemi kullandıktan sonra başka bir abonelik oluşturmayı işlemeye çalışırsa, sorun yeniden ortaya çıkar. Sorun karşılaştığınız tüm aboneleri için bu adımları yinelemeniz gerekir.

Durum

Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır.

Daha fazla bilgi

Hangi dosyalar değiştirilir hakkında daha fazla bilgi ve bu Microsoft Bilgi Bankası makalesinde açıklanan düzeltmeyi içeren bir toplu güncelleştirme paketini uygulamak için Önkoşullar hakkında bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
951217  (http://support.microsoft.com/kb/951217/LN/ ) SQL Server 2005 Service Pack 2 için toplu güncelleştirme paketi 8

Referanslar

SQL Server Service Pack 2, sonra kullanılabilen yap?lar listesi hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
937137  (http://support.microsoft.com/kb/937137/LN/ ) SQL Server 2005 Service Pack 2'den sonra yayımlanan SQL Server 2005 derlemeleri
SQL Server için artımlı hizmet modeli hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
935897  (http://support.microsoft.com/kb/935897/LN/ ) SQL Server ekibinden bildirilen sorunlar için düzeltmeler ulaştırmak için artımlı bir hizmet modeli kullanılabilir
SQL Server 2005 Service Pack 2'yi edinme hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
913089  (http://support.microsoft.com/kb/913089/LN/ ) En son SQL Server 2005 hizmet paketi nasıl elde edilir
Yeni özellikleri ve SQL Server 2005 Service Pack 2'ndeki geliştirmeler hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://go.microsoft.com/fwlink/?LinkId=71711 (http://go.microsoft.com/fwlink/?LinkId=71711)
SQL Server güncelleştirmelerinin adlandırma şeması hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
822499  (http://support.microsoft.com/kb/822499/LN/ ) Microsoft SQL Server yazılım güncelleştirme paketlerinin yeni adlandırma şeması
Yazılım güncelleştirme terminolojisi hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684  (http://support.microsoft.com/kb/824684/LN/ ) Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL 2005 Server Workgroup
Anahtar Kelimeler: 
kbmt kbautohotfix kbsql2005repl kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced kbhotfixserver KB953568 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:953568  (http://support.microsoft.com/kb/953568/en-us/ )