Düzeltme: Kullanıcıları karşılayan Değiştir mektup birleştirme çoğaltma işleminde Denetim

Makale çevirileri Makale çevirileri
Makale numarası: 828637 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Belirtiler

Birleştirme çoğaltması kullandığınızda, bir birincil anahtar ihlali yayımcı veya abone dahil olmak üzere çeşitli nedenlerle ekleme herhangi bir değişiklik, bir güncelleştirme değiştirme veya silme değişiklik bir hedef yineleme uygulanamaz, Birleştirme Aracısı eşitleme hatalarıyla karşılaşabilirsiniz. Birleştirme Aracısı, her zaman başarısız değişikliği geri almak için kaynak yineleme bir compensating değişiklik gönderir. Birleştirme Aracısı verileri tüm yinelemelere tutarlı ve convergent durumda tutulur emin olmak için karşılayan değişim işlemini yürütür. Birincil bir anahtar ihlali gibi bir hata oluşursa compensating değişiklikler, yinelemeler arasında verileri farklı olabilir. Yinelemeler arasında verileri değişir, yakınsama veri oluşur.

Bu düzeltmeyi önce karşılayan değişim işlemini denetlemek için kullanıcılara izin verecek şekilde oluştu. Karşılayan değişim işlemini Birleştirme Aracısı tarafından dahili olarak ele. Bu işlem, iç birleştirme aracı tarafından işlenen nedeniyle, belirli bir çakışma oluştu neden sorun gidermek zor. Ayrıca, çakışan satır silinebilir veya tüm yinelemelere geri olduğundan, satır veri tüm topoloji kaldırılır. Microsoft bu sorunları gidermek için <a0></a0>, kullanıcılara karşılayan değişim işlemini denetlemenize izin veren bir çoğaltma birleştirmek için yeni bir makale düzeyinde özellik eklemiştir.

Çözüm

Hizmet paketi bilgileri

Bu sorunu gidermek için <a0></a0>, Microsoft SQL Server 2000 için en son hizmet paketini edinin. Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
290211En son SQL Server 2000 hizmet paketi nasıl elde edilir

Düzeltme bilgileri

Bu düzeltmenin ingilizce sürümü dosya öznitelikleri (veya daha yenisi) aşağıdaki tabloda listelenir. Bu dosyaların tarihleri ve saatleri Koordinatlı Evrensel Saat'e (UTC) göre listelenir. Dosya bilgilerini görüntülediğinizde yerel saate dönüştürülür. UTC ve yerel saat arasındaki farkı bulmak için <a0></a0>, Denetim Masası'ndaki Tarih ve Saat aracında saat dilimi sekmesini kullanın.
   Date         Time   Version            Size    File name
   ----------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe      
   25-Jun-2003  01:01  2000.80.818.0      33,340  Dbmslpcn.dll     
   25-Apr-2003  02:12                    786,432  Distmdl.ldf
   25-Apr-2003  02:12                  2,359,296  Distmdl.mdf
   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql
   26-Aug-2003  20:16  2000.80.854.0     528,960  Dtspump.dll      
   23-Jun-2003  22:40  2000.80.837.0   1,557,052  Dtsui.dll        
   23-Jun-2003  22:40  2000.80.837.0     639,552  Dtswiz.dll       
   24-Apr-2003  02:51                    747,927  Instdist.sql
   03-May-2003  01:56                      1,581  Inst_repl_hotfix.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692  Msgprox.dll      
   01-Apr-2003  02:07                      1,873  Odsole.sql
   05-Apr-2003  01:46  2000.80.800.0      62,024  Odsole70.dll     
   07-May-2003  20:41  2000.80.819.0      25,144  Opends60.dll     
   02-Apr-2003  21:48  2000.80.796.0      57,904  Osql.exe         
   02-Apr-2003  23:15  2000.80.797.0     279,104  Pfutil80.dll     
   04-Aug-2003  18:17                    550,780  Procsyst.sql
   22-May-2003  22:57                     19,195  Qfe469571.sql
   06-Sep-2003  01:36                  1,090,932  Replmerg.sql
   06-Sep-2003  07:18  2000.80.858.0     221,768  Replprov.dll     
   06-Sep-2003  07:18  2000.80.858.0     307,784  Replrec.dll      
   06-Sep-2003  00:00                  1,087,150  Replsys.sql
   13-Aug-2003  16:28                    986,603  Repltran.sql
   29-Jul-2003  20:13  2000.80.819.0     492,096  Semobj.dll       
   31-May-2003  18:27  2000.80.818.0     172,032  Semobj.rll
   05-Aug-2003  21:06                    127,884  Sp3_serv_uni.sql
   01-Jun-2003  01:01  2000.80.818.0   4,215,360  Sqldmo.dll       
   07-Apr-2003  17:44                     25,172  Sqldumper.exe    
   19-Mar-2003  18:20  2000.80.789.0      28,672  Sqlevn70.rll
   02-Jul-2003  00:18  2000.80.834.0     180,736  Sqlmap70.dll     
   03-Sep-2003  02:56  2000.80.857.0     188,992  Sqlmmc.dll       
   02-Sep-2003  23:03  2000.80.857.0     479,232  Sqlmmc.rll
   08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll     
   06-Sep-2003  07:19  2000.80.858.0   7,598,161  Sqlservr.exe     
   25-Jul-2003  21:44  2000.80.845.0     590,396  Sqlsort.dll      
   08-Feb-2003  06:40  2000.80.765.0      45,644  Sqlvdi.dll       
   25-Jun-2003  01:01  2000.80.818.0      33,340  Ssmslpcn.dll     
   01-Jun-2003  01:01  2000.80.818.0      82,492  Ssnetlib.dll     
   01-Jun-2003  01:01  2000.80.818.0      25,148  Ssnmpn70.dll     
   01-Jun-2003  01:01  2000.80.818.0     158,240  Svrnetcn.dll     
   31-May-2003  18:59  2000.80.818.0      76,416  Svrnetcn.exe     
   30-Apr-2003  23:52  2000.80.816.0      45,132  Ums.dll          
   02-Jul-2003  00:19  2000.80.834.0      98,816  Xpweb70.dll      

Not Dosya bağımlılıkları nedeniyle, en son düzeltme veya özellik, bu dosyaları içeren ek dosyalar da içerebilir.

Durum

Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.Bu sorun ilk olarak Microsoft SQL Server 2000 Service Pack 4'te giderilmiştir.

Daha fazla bilgi

Bu düzeltme, birleştirme yayımları için yeni bir makale düzeyi compensate_for_errors özelliği ekler. Bu özellik true veya false ayarlayabilirsiniz. Varsayılan değer bu özellik için geçerlidir. Varsayılan ayar, tüm önceki sürümleri ve hizmet paketleri varsa gibi compensating değişiklikleri vermek bu birleştirme çoğaltması devam anlamına gelir. Birleştirme Aracısı karşılayan bir değişiklik, bu özellik true ekleme değişiklik, bir güncelleştirme değişikliği olarak ayarlanmış ve veya (bir birincil anahtar ihlali sırasında yayımcı veya abone, örneğin olur), çeşitli nedenler için bir hedef yineleme silme değişiklik uygulanamaz, değişikliği geri almak için kaynak yineleme gönderir.

Compensate_for_errors özelliği false olarak ayarlanır ve bu değişiklik, bir hedef yineleme uygulanamaz, compensating eylemleri verilen ve veritabanı Yöneticisi hata durumu giderir kadar değişiklik başarısız bir çakışma kalır.... Birleştirme Aracısı satır hata durumunu giderilinceye kadar çalıştırmak her bir sonraki eşitlemede Yineleme dener.

Alt düzey abonelik aracıları, özellikle bu düzeltme, yüklü olan çekme aboneleri devam compensate_for_errors özelliği bile, bu düzeltme publisher yüklü olduğunu ve compensate_for_errors özelliği, yayımcı false olarak ayarlayın, true olarak ayarlanır, ancak gibi davranır. Bu nedenle, kullanıcılar yeni compensate_for_errors özelliği tarafından sağlanan işlevselliği kullanmak istiyorsanız, bu düzeltmeyi tüm abonelerin yükseltmelidir. Bu yükseltme, topoloji tutarlı bir davranış sağlamak için yardımcı olur.

Microsoft SQL Server 2000 Windows CE Edition için yükleme çakışmalarını aboneleri, davranmasına tüm önceki SQL Server ile aynı, compensate_for_errors özellik ayarı ne olursa olsun yayımlar. Ancak <a0>compensate_for_errors</a0> özelliğinin (hem yayımcı hem de Microsoft ınternet ınformation Services (IIS) çalıştıran bir bilgisayar bu düzeltme için yükseltilmiş olan) compensating değişiklikleri hataları ve SQL Server CE aboneleri kullanılarak bir SQL Server yayımcı çakışmaları yükleme sırasında oluşan olup olmadığını belirler.

Bu özellik hem sp_addmergearticle saklı yordamı hem de sp_changemergearticle depolanmış yordamın @ compensate_for_errors adlı yeni bir parametre yararlanılır. Bu özellik, SQL Server Enterprise Manager'da maruz kalmaz. Bu özellik, yeniden olmadan, varolan makaleler için değiştirilebilir. Bu özelliğin tipik kullanılır:
exec sp_addmergearticle @publication = N'mypubl1', @article = N'authors', @source_owner = N'dbo', @source_object = N'authors', @compensate_for_errors='false'
or
exec sp_changemergearticle  @publication='mypubl1',@article='authors', @property='compensate_for_errors',@value='false'

"Sp_addmergearticle" SQL Server 2000 Çevrimiçi Kitapları'nda konu eklemeler

sp_addmergearticle [@compensate_for_errors = ]
		  'compensate_for_errors'
Compensate_for_errors özelliği, eşitleme sırasında hata girildiğinde compensating eylemleri alınır olup olmadığını denetler. @ Compensate_for_errors parametre nvarchar(5) tanımlanır ve varsayılan ayarı true varsa. Varsayılan olarak, her zaman eşitleme sırasında bir yayımcı veya abone uygulanamaz bir değişiklik eylemleri Dengelemesi için değişikliği geri almak için adaylarının. Ancak, değişiklikleri diğer abonelerin ve yayımcılar yanlış tersine çevrilecek bir hata üretir ve hatalı yapılandırılmış bir abone neden olabilir. Compensate_for_errors özelliği false devre dışı bırakır Bu compensating eylemleri ayarlanıyor.

NotCompensate_for_errors özelliği false olarak ayarlayarak yakınsaması neden olabilir.

"Sp_changemergearticle" SQL Server Books Online'da konusu eklemeler

sp_changemergearticle [ @publication = ] 'publication' , [ @article = ] 'article' [ , [
		  @property = ] 'property' ] [ , [ @value =] 'value' ]
Bu tabloyu kapaBu tabloyu aç
ÖzelliğiDeğerleriAçıklama
compensate_for_errorsTrueEşitleme sırasında hata ortaya çıktığında, compensating eylemler gerçekleştirilir. Bu, varsayılan davranıştır.
compensate_for_errorsYanlış Dengeleyici eylemler gerçekleştirilir

NotCompensate_for_errors özelliği false olarak ayarlayarak yakınsaması neden olabilir.

Aşağıdaki seçme deyimini compensate_for_errors özelliği true veya false ayarlanıp ayarlanmadığını belirler:
select CASE compensate_for_errors WHEN 0 THEN ‘FALSE’ ELSE ‘TRUE’ END from sysmergearticles where name = ‘NameOfTheArticle’

değerini compensate_for_errors özelliği, belirli bir makale için paylaşılan bir özellik olduğu, makaleyi için birden çok yayın aitse tutarlı olması gerekir (gibi republisher senaryoları ve diğer eşitleme ortaklarına). Bu durum, çoğu zaman uygulanır. Ancak, bu makaleyi paylaşan tüm yayınlarda compensate_for_errors özelliği belirli bir makale için aynı değere sahip olduğundan emin olmak için kullanıcının sorumluluğudur. Yine bu tutarlı bir davranış topoloji sağlar.

Not Bu düzeltme, SQL Server örneğine uygulanmadan önce yedeklenmiş yinelenmiş veritabanının yedeğini geri yüklemeniz gerekiyorsa, gerekli parametreleri geri yüklenen veritabanı Çoğaltmada kullanmak için SQL Server örneğinin karşı sp_vupgrade_replication saklı yordamı çalıştırın.

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
824684Microsoft yazılım güncelleştirmelerini açıklamak için kullanılan standart terminolojinin açıklaması

Özellikler

Makale numarası: 828637 - Last Review: 26 Şubat 2014 Çarşamba - Gözden geçirme: 5.3
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbsqlserv2000presp4fix kbfix kbbug KB828637 KbMttr
Machine-translated Article
Ö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:828637

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com