CORRECTIF : les utilisateurs peuvent contrôler le processus de modification compensation de réplication de fusion

Traductions disponibles Traductions disponibles
Numéro d'article: 828637 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous utilisez la réplication de fusion, l'Agent de fusion peuvent rencontrer les erreurs de synchronisation si une modification de l'insertion, une modification de mise à jour ou une modification de suppression ne peut pas être appliquée à un réplica de destination pour diverses raisons, y compris une violation de clé primaire à l'éditeur ou à l'abonné. L'Agent de fusion envoie toujours une modification de compensation dans le réplica source pour annuler la modification a échoué. L'Agent de fusion s'exécute le processus de changement compensation pour vous assurer que les données sont conservées dans un état cohérent et convergent dans tous les réplicas. Sans les modifications de compensation, données peuvent varier entre des réplicas en cas d'erreur comme une violation de clé primaire. Si les données varient entre des réplicas, une non-convergence de données se produit.

Avant ce correctif logiciel, il ne était aucun moyen de permettre aux utilisateurs de contrôler le processus de changement de compensation. Le processus de changement de compensation a été géré en interne par l'Agent de fusion. Étant donné que ce processus a été géré en interne par l'Agent de fusion, il était difficile dépanner pourquoi certaines conflit s'est produite. En outre, parce que la ligne en conflit est supprimée ou annulée dans tous les réplicas, les données de ligne sont supprimées de la topologie entier. Pour aider à résoudre ces problèmes, Microsoft a ajouté une nouvelle propriété au niveau de l'article pour fusionner la réplication qui permet aux utilisateurs de contrôler le processus de changement de compensation.

Résolution

Informations sur le service pack

Pour résoudre ce problème, procurez-vous le dernier service pack Microsoft SQL Server 2000. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
290211 Comment obtenir le dernier pack de service SQL Server 2000

Informations sur le correctif

La version anglaise de ce correctif dispose des attributs de fichier (ou version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont exprimées en coordinated universal temps (UTC). Lorsque vous affichez les informations de fichier, il est convertie en heure locale. Pour connaître le décalage entre l'heure UTC et l'heure locale, utilisez l'onglet Fuseau horaire dans l'outil Date et heure du Panneau de configuration.
   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      

note En raison des dépendances de fichiers, la fonctionnalité qui contient ces fichiers ou correctif plus récent peut également contenir des fichiers supplémentaires.

Statut

Microsoft a confirmé qu'il s'agit d'un problème les produits Microsoft répertoriés au début de cet article produits.Ce problème a été corrigé dans Microsoft SQL Server 2000 Service Pack 4.

Plus d'informations

Ce correctif ajoute une propriété de niveau de l'article compensate_for_errors nouvelle pour les compositions de fusion et publipostage. Vous pouvez définir cette propriété pour cette propriété a la valeur true ou false. La valeur par défaut de cette propriété est true. Le paramètre par défaut signifie que la réplication de fusion continue d'émettre des modifications de compensation que dans tous les service packs et toutes les versions précédentes. Lorsque cette propriété est définie sur true et une modification insérer, une modification de mise à jour, ou une modification suppression ne peut pas être appliquée à un réplica de destination pour diverses raisons (une violation de clé primaire survient sur l'éditeur ou l'abonné, par exemple), l'Agent de fusion envoie une modification de compensation au réplica source pour annuler la modification.

Lorsque la propriété compensate_for_errors est définie sur false et une modification ne peut pas être appliquée à un réplica de destination, compensation des actions ne sont pas émises et la modification a échoué reste comme un conflit jusqu'à ce que l'administrateur de base de données résout la condition d'erreur. L'Agent de fusion essaie de répliquer la ligne de chaque synchronisation ultérieure exécuter jusqu'à ce que la condition d'erreur est résolue.

Bas niveau abonnement agents, particulièrement les abonnés d'extraction qui n'ont pas de ce correctif, continuer à se comporter comme que la propriété compensate_for_errors attribuée à true, même si vous avez installé ce correctif sur l'éditeur et la propriété compensate_for_errors est définie sur false dans l'éditeur. Une mise à par conséquent, doit niveau tous les abonnés vers ce correctif s'il souhaite utiliser la fonctionnalité est fournie par la nouvelle propriété compensate_for_errors . Cette mise à niveau permet de garantir comportement cohérent sur la topologie.

Pour l'édition de Microsoft SQL Server 2000 Windows CE comportement de téléchargement conflits abonnés, les mêmes que dans tous les précédents de SQL Server libère, quel que soit le compensate_for_errors paramétrage de la propriété. Toutefois, le paramètre de la propriété compensate_for_errors détermine si des modifications de compensation sont créées au cours du téléchargement des erreurs et conflits d'abonnés SQL Server CE pour un éditeur SQL Server (lorsque l'éditeur et l'ordinateur exécutant Internet Information Services (IIS) ont été mis à niveau pour ce correctif logiciel).

Cette propriété est exposée dans à la fois la procédure sp_addmergearticle stockées et la procédure sp_changemergearticle stockés en tant que nouveau paramètre nommé @compensate_for_errors . Cette propriété n'est pas exposée dans SQL Server Enterprise Manager. Cette propriété peut être modifiée pour les articles existants sans être réinitialisé. L'utilisation classique de cette propriété est :
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'

Ajouts au sp_addmergearticle sujet dans la en ligne de SQL Server 2000

sp_addmergearticle [@compensate_for_errors = ]
		  'compensate_for_errors'
La propriété compensate_for_errors détermine si les actions de compensation sont inclues lorsque les erreurs sont rencontrées lors de la synchronisation. Le @compensate_for_errors paramètre se définit comme nvarchar(5) et a un paramètre par défaut de cette propriété a la valeur true. Par défaut, une modification qui ne peut pas être appliquée à un abonné ou à un éditeur lors de la synchronisation toujours conduit à la compensation des actions pour annuler la modification. Toutefois, un abonné configuré de manière incorrecte qui génère une erreur peut entraîner des modifications à d'autres abonnés et éditeurs être inversés incorrecte. Si la compensate_for_errors propriété a la valeur false désactive ces actions de compensation.

note La propriété compensate_for_errors à Faux peut provoquer une non-convergence.

Ajouts au sp_changemergearticle sujet dans la documentation en ligne de SQL Server

sp_changemergearticle [ @publication = ] 'publication' , [ @article = ] 'article' [ , [
		  @property = ] 'property' ] [ , [ @value =] 'value' ]
Réduire ce tableauAgrandir ce tableau
propriété valeurs Description
compensate_for_errors Cette propriété a la valeur TrueCompensation des actions sont effectuées lorsque des erreurs se produisent lors de la synchronisation. Ceci est le comportement par défaut.
compensate_for_errors Elle a la valeur False Compensation actions sont exécutées pas

note La propriété compensate_for_errors à Faux peut provoquer une non-convergence.

L'instruction select suivante détermine si la propriété compensate_for_errors est définie à Vrai ou Faux :
select CASE compensate_for_errors WHEN 0 THEN ?FALSE? ELSE ?TRUE? END from sysmergearticles where name = ?NameOfTheArticle?

étant donné que la propriété compensate_for_errors est une propriété partagée pour un article particulier, sa valeur doit être cohérent si l'article appartient à plusieurs compositions (comme avec republisher scénarios et partenaires de synchronisation autre). Cette condition est appliquée à la plupart du temps. Toutefois, il est responsable de l'utilisateur l'assurez-vous que la propriété compensate_for_errors possède la même valeur pour un article particulier dans les compositions qui partagent l'article. Là encore, cela garantit comportement cohérent sur la topologie.

note Si vous devez restaurer une sauvegarde d'une base de données répliquée a été sauvegardée avant que ce correctif a été appliqué à l'instance de SQL Server, exécutez la procédure sp_vupgrade_replication stockée avec les paramètres requis par rapport à l'instance de SQL Server pour utiliser la base de données restaurée dans la réplication.

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
824684 Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Propriétés

Numéro d'article: 828637 - Dernière mise à jour: mercredi 26 février 2014 - Version: 5.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2000 Édition Développeur
  • Microsoft SQL Server 2000 Standard
  • Microsoft SQL Server 2000 Édition Entreprise
  • Microsoft SQL Server 2000 Édition Personelle
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
Mots-clés : 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB828637 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 828637
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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