Belirtiler
Microsoft SQL Server 2008 ve sonraki SQL Server sürümlerinde birleştirme çoğaltmasının eşitlenmesi sırasında, birleştirme aracısı başarısız olabilir. Ayrıca, aşağıdaki hata iletisini alırsınız:
Not
Birleştirme Aracısı, bekletme tabanlı meta veri temizlemenin henüz Yayımcıya gönderilmemiş değişiklikler için Abonedeki meta verileri sildiğini algıladıktan sonra başarısız oldu. Aboneliği yeniden başlatmanız gerekir (karşıya yüklemeden). (Kaynak: MSSQL_REPL, Hata numarası: MSSQL_REPL-2147199401)
Yardım alma: http://help/MSSQL_REPL-2147199401
Bu sorun birden fazla nedenle oluşabilir. Bunlar, belirli koşullar altında beklenen birçok nedeni içerir. Bu hatayla beklenmedik bir şekilde karşılaşıp karşılaşmadığınızı belirlemek için "Neden" bölümünde açıklanan meta veri ayrıntılarını inceleyin.
Neden
Bu sorunun nedeni, aboneyle ilgili aşağıdaki sistem tablolarında bulunabilir:
- dbo.sysMergeSubscriptions
- dbo. MsMerge_Genhistory
Birleştirme aracısının artık eşitlenmediğinden emin olun. Daha sonra, aşağıdaki sorguyu çalıştırın ve sonuçları inceleyin:
select sentgen from SubscriberDB.dbo.sysMergeSubscriptions where pubid = subid and sentgen is not null
Sentgen sütunu, abonenin yayımcıya gönderdiği en eski değişiklik grubunu işaretler. Birden çok değer döndürülürse, doğru yayının meta verilerini görüntülediğinizden emin olmak için dbo.sysMergeSubscriptions tablosundaki diğer sütunları inceleyin. Ardından, bu sorgunun döndürdüğü değeri aşağıdaki sorguda kullanın:
select top 20 * from SubscriberDB.dbo.MSmerge_genhistory where generation >= sentgen_value order by generationSorgunun çıktısı aşağıdaki gibi olmalıdır:
Aşağıdaki koşulların tümü geçerli olduğunda beklenmedik bir şekilde hatayla karşılaşabilirsiniz:
- İlk satırdaki oluşturma sütunundaki değer, önceki sorgudaki sentgen değerinden biraz daha büyük.
- genstatus sütunundaki değer 4'tür.
- Değişiklik sayısı sütunundaki değer 0'dır.
Not İlk satırın coldate sütununun değeri de, genellikle diğer satırlardaki sütunun değerinden çok daha eskidir.
Çözüm
Bu sorunu çözmek için, hataya neden olan aboneyi yeniden başlatın.
Bazı senaryolarda, yeniden başlatmayı tamamlamadan bu sorunu çözmeniz mümkün olabilir. Olası geçici çözüm hakkında bilgi için Microsoft Müşteri Destek Hizmetleri'ne başvurun.
Bu sorunun gelecekte oluşmasını önlemek için, SQL ServerSQL Server sürümünüze bağlı olarak aşağıdaki düzeltmelerden birini uygulayın.
Toplu güncelleştirme bilgileri
SQL Server 2008
SQL Server 2008'de bu sorun için bir düzeltme yoktur.
SQL ServerSQL Server 2008 R2 Service Pack 2
Bu soruna yönelik düzeltme ilk olarak Toplu Güncelleştirme 3'te yayınlandı. SQL Server 2008 R2 Service Pack 2 için bu toplu güncelleştirme paketini edinme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
2754552 SQL Server 2008 R2 Service Pack 2 için Toplu Güncelleştirme Paketi 3
Not Derlemeler birikimli olduğundan, her yeni düzeltme önceki SQL Server 2008 R2 Service Pack 2 düzeltme sürümüne eklenmiş olan tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı düşünmenizi öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
2730301 SQL Server 2008 R2 Service Pack 2 yayımlandıktan sonra yayımlanan SQL Server 2008 R2 derlemeleri
SQL Server 2012
Bu soruna yönelik düzeltme ilk olarak Toplu Güncelleştirme 4'te yayınlandı. Bu SQL Server 2012 toplu güncelleştirme paketini edinme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
2758687 SQL Server 2012 Toplu Güncelleştirme Paketi 4
Not Derlemeler birikimli olduğundan, her yeni düzeltme önceki SQL Server 2012 düzeltme sürümüne dahil edilen tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı düşünmenizi öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
2692828 SQL Server 2012 yayımlandıktan sonra yayımlanan SQL Server 2012 derlemeleri
SQL ServerSQL Server 2008 R2 Service Pack 1
Bu soruna yönelik düzeltme ilk olarak Toplu Güncelleştirme 8'de yayınlandı. SQL Server 2008 R2 Service Pack 1 için bu toplu güncelleştirme paketini edinme hakkında daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
2723743 SQL Server 2008 R2 SP1 için Toplu Güncelleştirme Paketi 8Note Derlemeler birikimli olduğundan, her yeni düzeltme önceki SQL Server 2008 R2 Service Pack 1 düzeltme sürümüne eklenmiş olan tüm düzeltmeleri ve tüm güvenlik düzeltmelerini içerir. Bu düzeltmeyi içeren en son düzeltme sürümünü uygulamayı düşünmenizi öneririz. Daha fazla bilgi için Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasına tıklayın:
2567616 SQL Server 2008 R2 SP1'den sonra yayımlanan SQL Server 2008 R2 derlemeleri