CORRECTIF : des modifications peut ne pas être répliquées à l'abonné correctement dans SQL Server 2005 ou SQL Server 2008 lorsque la somme des paramètres dépasse 2,100

Traductions disponibles Traductions disponibles
Numéro d'article: 959893 - Voir les produits auxquels s'applique cet article
Bogue #: 50004054 (correctifs SQL); 50004028 (correctifs SQL)

Microsoft distribue Microsoft SQL Server 2005 ou SQL Server 2008 résout comme un fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et tous les correctifs de sécurité qui étaient fournis avec la précédente SQL Server 2005 ou SQL Server 2008 version du correctif.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Envisagez le scénario suivant :
  • Dans Microsoft SQL Server 2005 ou Microsoft SQL Server 2008, vous définissez la une réplication transactionnelle.
  • La réplication transactionnelle contient certains articles.
  • Pour des articles, vous utilisez des procédures stockées pour fournir la commande Insérer, la commande de mise à jour et la commande de suppression. Par exemple, vous définir instruction livraison à utiliser appel <stored procedure>dans la fenêtre Propriétés de l'article. Ou, spécifier les commandes en utilisant le @ins_cmd paramètre, le @del_cmd paramètre et le @upd_cmd paramètre de la sp_addarticle une procédure stockée.
  • Pour un autre article, vous utilisez les commandes Transact-SQL pour fournir les instructions.
  • Vous modifier certains aux articles. Les modifications sont remises à l'abonné dans le même lot de l'exécution.
  • La somme des paramètres requis pour fournir le lot dépasse 2,100.

    note Si vous utilisez trace du Générateur de profils SQL pour capturer une trace, vous observerez peut-être la procédure sp_executesql stockée pour le lot est appelé par l'agent de distribution.
  • Vous synchronisez les données.
Dans ce scénario, certaines modifications peuvent ne pas être répliquées sur l'abonné correctement.

note Vous pouvez vérifier que ce problème se produit en utilisant l'outil comparaison de table (tablediff.exe).

En outre, l'instruction qui se produit à la fin de ce lot est manquant. Par défaut, un lot contient 100 transactions.

note Vous pouvez afficher les commandes répliquées en utilisant la procédure sp_browsereplcmds stockées dans la base de données de distribution.

Dans ce cas, si l'instruction en effectue une opération INSERT, une ligne peut manquer de l'abonné. Ensuite, si opérations DML ultérieure se produisent à la ligne en dans l'éditeur, Agent de distribution échoue et le message d'erreur « Erreur 20598 » suivant :
La ligne est introuvable sur l'abonné en appliquant la commande répliquée.

Cause

L'agent de distribution doit détecter si la limite maximale paramètre 2,100 pour les procédures stockées est dépassée. Ensuite, Agent de distribution doit déplacer les commandes overflowing vers le prochain lot de l'exécution. Toutefois, en raison d'un bogue, la dernière commande est ignorée et n'est pas traitée.

Résolution

SQL Server 2005 Service Pack 2

important Vous devez utiliser ce correctif si vous exécutez SQL Server 2005 Service Pack 2.

Le correctif de ce problème a été tout d'abord publié en mise à jour cumulative 11 pour SQL Server 2005 Service Pack 2. Pour plus d'informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
958735 Package de cumulative mise à jour 11 pour SQL Server 2005 Service Pack 2
note Les versions étant cumulatifs, chaque nouvelle version de correctif contient tous les correctifs et tous les correctifs de sécurité qui étaient fournis avec la précédente SQL Server 2005 version du correctif. Microsoft recommande que vous considérez comme application de la version de correctif plus récente qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
937137 SQL Server 2005 crée publiés après que SQL Server 2005 Service Pack 2 a été publié
Microsoft SQL Server 2005 correctifs sont créés pour service packs SQL Server spécifiques. Vous devez appliquer un correctif SQL Server 2005 Service Pack 2 à une installation de SQL Server 2005 Service Pack 2. Par défaut, aucun correctif qui est fourni dans un service pack SQL Server est inclu dans le prochain service pack SQL Server.

note Pour les abonnements de type Pousser, appliquer la mise à jour cumulative 11 sur le serveur de distribution. Pour des souscriptions pull, appliquer la mise à jour cumulative 11 sur les abonnés.

SQL Server 2005 Service Pack 3

important Vous devez utiliser ce correctif si vous exécutez SQL Server 2005 Service Pack 3.

Le correctif de ce problème a été publié également plus loin en mise à jour cumulative 1 pour SQL Server 2005 Service Pack 3. Pour plus d'informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
959195 Package de cumulative mise à jour 1 pour SQL Server 2005 Service Pack 3
note Les versions étant cumulatifs, chaque nouvelle version de correctif contient tous les correctifs et tous les correctifs de sécurité qui étaient fournis avec la précédente SQL Server 2005 version du correctif. Microsoft recommande que vous considérez comme application de la version de correctif plus récente qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
960598 SQL Server 2005 crée publiés après que SQL Server 2005 Service Pack 3 a été publié
Microsoft SQL Server 2005 correctifs sont créés pour service packs SQL Server spécifiques. Vous devez appliquer un correctif SQL Server 2005 Service Pack 3 à une installation de SQL Server 2005 Service Pack 3. Par défaut, aucun correctif qui est fourni dans un service pack SQL Server est inclu dans le prochain service pack SQL Server.

note Pour les abonnements de type Pousser, appliquer la mise à jour cumulative 1 sur le serveur de distribution. Pour des souscriptions pull, appliquer la mise à jour cumulative 1 sur les abonnés.

SQL Server 2008

Le correctif de ce problème a été tout d'abord publié en 3 mise à jour cumulative. Pour plus d'informations sur la façon d'obtenir ce package de mise à jour cumulative pour SQL Server 2008, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
960484 Package de cumulative mise à jour 3 pour SQL Server 2008
note Les versions étant cumulatifs, chaque nouvelle version de correctif contient tous les correctifs et tous les correctifs de sécurité qui étaient fournis avec la précédente SQL Server 2008 version du correctif. Nous vous recommandons de prendre en compte Application de la version de correctif plus récente qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
956909 SQL Server 2008 versions publiées après le lancement de SQL Server 2008
note Pour les abonnements de type Pousser, appliquer la mise à jour cumulative 3 sur le serveur de distribution. Pour des souscriptions pull, appliquer la mise à jour cumulative 3 sur les abonnés.

Contournement

Pour contourner ce problème, appliquez l'une des méthodes suivantes.

Méthode 1

Diminuer la valeur du paramètre CommitBatchSize pour l'agent de distribution. Par conséquent, vous pouvez éviter dépasser paramètres 2,100 par lot de transactions validées.

Méthode 2

Utilisez le même mécanisme de livraison de commande pour tous les articles dans la composition. Éviter le mélange les mécanismes de livraison de commande pour les articles dans la même composition.

Pour éviter erreur 20598

Erreur 20598 peut se produire comme un effet secondaire de ce problème. Pour éviter erreur 20598, vous pouvez utiliser la -SkipErrors 20598 basculer. Après avoir activé ce commutateur, Agent de distribution enregistre l'erreur et continue à traiter les lignes supplémentaires qui doivent être remis. Une fois l'agent de distribution ignore l'erreur 20598, l'intégrité des données demeure compromise en raison de la ligne manquante. Vous devrez peut-être supprimer la ligne et puis réinsérez la ligne à l'éditeur pour transmettre les modifications à tous les abonnés.

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

SQL Server 2005

Pour plus d'informations sur les fichiers sont modifiés et pour des informations sur les conditions préalables pour appliquer le package de mise à jour cumulative qui contient le correctif qui est décrit dans cet article de la base de connaissances Microsoft, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
958735 Package de cumulative mise à jour 11 pour SQL Server 2005 Service Pack 2

SQL Server 2008

Pour plus d'informations sur les fichiers sont modifiés et pour des informations sur les conditions préalables pour appliquer le package de mise à jour cumulative qui contient le correctif qui est décrit dans cet article de la base de connaissances Microsoft, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
960484 Package de cumulative mise à jour 3 pour SQL Server 2008

Références

Pour plus d'informations sur la liste des builds sont disponibles après SQL Server Service Pack 2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
937137 SQL Server 2005 crée publiés après que SQL Server 2005 Service Pack 2 a été publié
Pour plus d'informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
935897 Un modèle de service incrémentielle est disponible auprès de l'équipe SQL Server pour fournir des correctifs pour les problèmes signalés
Pour plus d'informations sur la façon d'obtenir SQL Server 2005 Service Pack 2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
913089 Comment obtenir le dernier pack service pour SQL Server 2005
Pour plus d'informations sur les nouvelles fonctionnalités et les améliorations dans SQL Server 2005 Service Pack 2, reportez-vous au site de Web Microsoft suivant :
http://go.microsoft.com/fwlink/?LinkId=71711
Pour plus d'informations sur le schéma d'appellation des mises à jour SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
822499 Nouveau modèle d'affectation de noms pour les packages de correctifs logiciels Microsoft SQL Server
Pour plus d'informations sur la terminologie mise à jour logicielles, 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: 959893 - Dernière mise à jour: lundi 19 janvier 2009 - Version: 4.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
Mots-clés : 
kbmt kbsurveynew kbhotfixrollup kbfix kbqfe kbexpertiseadvanced KB959893 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: 959893
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