CORRECTIF : moteur de base de données SQL Server 2005 génère erreurs Échec assertion lorsque vous utilisez le moniteur de réplication pour surveiller la base de données de distribution

Traductions disponibles Traductions disponibles
Numéro d'article: 934106 - Voir les produits auxquels s'applique cet article
Bogue: #50000948 (correctifs SQL)
Avertissement
Microsoft distribue les correctifs Microsoft SQL Server 2005 le biais 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 version du correctif.
Agrandir tout | Réduire tout

Sommaire

Cet article décrit suivants concernant cette version de correctif logiciel :
  • Les problèmes qui sont résolus par ce package de correctifs
  • Conditions préalables à l'installation le package de correctifs
  • Si vous devez redémarrer l'ordinateur après avoir installé le package de correctifs
  • Si le package de correctifs est remplacé par un autre package de correctif
  • Si vous devez apporter les modifications du Registre
  • Les fichiers qui sont contenus dans le package de correctifs

Symptômes

Si vous utilisez moniteur de réplication pour surveiller la base de données de distribution dans Microsoft SQL Server 2005, le moteur de base de données SQL Server 2005 génère plusieurs fois erreurs Échec assertion. En outre, la session de moniteur de réplication est déconnectée temporairement. Lorsque les erreurs d'échec d'assertion se produisent, vous rencontrez les problèmes suivants :
  • Si vous exécutez certaines instructions Transact-SQL ou des procédures stockées sur l'instance de SQL Server 2005, les instructions Transact-SQL ou des procédures stockées n'exécutent pas.
  • Si une application se connecte à l'instance de SQL Server 2005, la connexion est fermée.
Dans ce cas, les informations de performances de réplication ne sont pas visibles. Lorsque vous appuyez sur F5 pour mettre à jour de moniteur de réplication, moniteur de réplication se reconnecte et les informations sont à jour.

Si vous rencontrez le problème lorsque vous exécutez certaines instructions Transact-SQL ou certains stockées procédures, les instructions Transact-SQL ou les procédures stockées exécutent correctement si vous reconnecter à l'instance de SQL Server 2005, puis exécuter les instructions Transact-SQL ou des procédures stockées.

Si une application ne peut pas vous connecter à l'instance, vous pouvez vous reconnecter correctement à l'instance.

Résolution

Un correctif est disponible auprès de Microsoft. Toutefois, ce correctif est conçu pour corriger le problème décrit dans cet article. Appliquer ce correctif uniquement aux systèmes rencontrant ce problème spécifique. Ce correctif peut subir des tests supplémentaires. Par conséquent, si vous n'êtes pas gravement touché par ce problème, nous vous recommandons d'attendre la prochaine mise à jour logicielles qui contiendra ce correctif.

Si le correctif est disponible pour le téléchargement, il est une section « téléchargement correctif disponible » en haut de cet article de la base de connaissances. Si cette section n'apparaît pas, contactez le service clientèle Microsoft et de support pour obtenir le correctif.

note Si des problèmes supplémentaires se produisent ou si n'importe quel dépannage est nécessaire, vous devrez peut-être créer une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux autres questions et problèmes non traités par ce correctif spécifique. Pour une liste complète des Microsoft client service et support numéros de téléphone ou pour créer une demande de service distincte, reportez-vous au site de Web Microsoft suivant :
http://support.microsoft.com/contactus/?ws=support
note L'écran de « téléchargement correctif disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas la langue, il est car un correctif logiciel n'est pas disponible pour cette langue.

Conditions préalables

Vous devez avoir SQL Server 2005 Service Pack 2 installé.

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

Redémarrez les informations

Vous devez redémarrer l'ordinateur après avoir appliqué ce correctif.

Informations de Registre

Vous devez modifier le Registre.

Informations sur le fichier de correctif

Ce correctif contient uniquement les fichiers nécessaires à la résolution des problèmes décrits dans cet article. Ce correctif peut ne pas contenir de tous les fichiers nécessaires à la mise à jour complètement un produit vers la dernière version.

La version anglaise de ce correctif dispose les attributs de fichier (ou attributs de fichier version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont exprimées en temps universel coordonné (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'élément Date et heure du Panneau de configuration.
SQL Server 2005 32 bits version
Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-forme
Microsoft.SqlServer.maintenanceplantasks.dll9.0.3154.0296,30410-Mar-200705:49x 86
Mssqlsystemresource.ldfNon applicable524,28810-Mar-200702:59Non applicable
Mssqlsystemresource.mdfNon applicable40,173,56810-Mar-200702:59Non applicable
Rdistcom.dll2005.90.3154.0644,46410-Mar-200705:49x 86
Msmdlocal.dll9.0.3154.015,930,22410-Mar-200705:49x 86
Sqlaccess.dll2005.90.3154.0350,57610-Mar-200705:49x 86
Sqlservr.exe2005.90.3154.029,191,53610-Mar-200705:49x 86
Version SQL Server 2005 x 64
Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille du fichierDateHeurePlate-forme
Microsoft.SqlServer.maintenanceplantasks.dll9.0.3154.0296,30410-Mar-200705:49x 86
Mssqlsystemresource.ldfNon applicable524,28810-Mar-200702:59Non applicable
Mssqlsystemresource.mdfNon applicable40,173,56810-Mar-200702:59Non applicable
Rdistcom.dll2005.90.3154.0828,27210-Mar-200711:12x 64
Msmdlocal.dll9.0.3154.015,930,22410-Mar-200705:49x 86
Sqlaccess.dll2005.90.3154.0357,74410-Mar-200711:12x 86
Sqlservr.exe2005.90.3154.038,655,34410-Mar-200711:12x 64

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

Ce problème affecte uniquement temporairement les performances de réplication. Ce problème est non fatal du moteur de base de données SQL Server 2005. Ce problème a sans effets secondaires en attente. En outre, ce problème s'uniquement produit à certains moments et dans certaines situations. Si vous recommencer la même commande, l'opération réussira probablement.

Pour déterminer si vous rencontrez ce problème, ouvrez le fichier de SQL Server Errorlog. Si vous rencontrez ce problème, vous voir le texte suivant :
Échec assertion = 'LCK_SUCCESS (résultat)'
Au moment de l'assertion, un fichier minidump est généré dans le dossier suivant :
Drive: \Program Files\Microsoft SQL Server\ MSSQL.x \MSSQL\LOG
note MSSQL.x est un espace réservé pour l'ID d'instance pour l'instance de SQL Server. Vous pouvez déterminer la valeur correspondante pour le système à partir de la valeur de l'entrée de Registre MSSQLSERVER dans la sous-clé de Registre suivante :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\
Si ce problème se produit fréquemment, vous pouvez supprimer ou archiver les anciens fichiers minidump du dossier journal pour libérer de l'espace disque.

Le fichier de SQL Server Errorlog affiche la commande de problème, un vidage de pile et la condition d'assertion.

Par exemple, vous trouverez la commande problème à l'aide le texte suivant dans le fichier de SQL Server Errorlog :
2006-12-18 09:43:01.52 spid345 * emplacement : IndexDataSet.cpp:18180
2006-12-18 09:43:01.52 spid345 * expression : LCK_SUCCESS (résultat)
2006-12-18 09:43:01.52 spid345 * SPID : 345
2006-12-18 09:43:01.52 spid345 * ID de processus : 1864
2006-12-18 09:43:01.52 spid345 *
2006-12-18 09:43:01.52 spid345 * octets entrée tampon 470 -
2006-12-18 09:43:01.52 spid345 * Utilisez.sys.sp_replmonitorhelpsubsc exec [maître] [distribution]
2006-12-18 09:43:01.52 spid345 * ription @publisher = N'MyPublisherServer », @ publisher_db = N'mydbname
2006-12-18 09:43:01.52 spid345 * ', @ composition = N'mypub ' @ mode = 0, @ exclude_anonymous = 0, @r
2006-12-18 09:43:01.52 spid345 * efreshpolicy = N ' 0 '
Erreur de spid345 09:43:07.03 2006-12-18 : gravité 17066,: 16, État: 1.
2006-12-18 09:43:07.03 spid345 SQL Server assertion : fichier : <IndexDataSet.cpp>, ligne = assertion Échec 18180 = 'LCK_SUCCESS (résultat)'. Cette erreur peut être lié à la synchronisation. Si l'erreur persiste après rerunning l'instruction, DBCC CHECKDB permet de vérifier la base de données pour l'intégrité structurelle ou redémarrez le serveur pour vous assurer que les structures de données en mémoire ne sont pas endommagés.
La commande de problème peut-être varier. En outre, le numéro de ligne de code origine de l'assertion peut varier entre versions et plateformes, telles que la plate-forme 32 bits et la plate-forme 64 bits. La condition d'échec d'assertion qui correspond à ce problème est la condition LCK_SUCCESS (résultat) .

Appeler des informations sur la pile

0:000> kL 100
Child-SP          RetAddr           Call Site
00000000`38637930 00000000`034b1e9c kernel32!RaiseException+0x73
00000000`38637a00 00000000`02fd8811 sqlservr!CDmpDump::Dump+0x7c
00000000`38637a50 00000000`02fcbeed sqlservr!CImageHelper::DoMiniDump+0x4e1
00000000`38637bc0 00000000`02ca9159 sqlservr!stackTrace+0x83d
00000000`38639110 00000000`02d71478 sqlservr!utassert_fail+0x6c9
00000000`38639ae0 00000000`02d8d593 sqlservr!UnlockDeallocatedPage+0x228
00000000`38639c20 00000000`02d9629b sqlservr!RemoveBTreePageIfUnchanged+0x113
00000000`38639ca0 00000000`02d9b247 sqlservr!BTreeRow::DeleteRecord+0xa9b
00000000`38639e70 00000000`02f5148e sqlservr!IndexDataSetSession::SetData+0x23c7
00000000`3863e0b0 00000000`02580bc1 sqlservr!RowsetNewSS::SetData+0x6e
00000000`3863e100 00000000`01c5d371 sqlservr!CValRowMult::SetDataX+0x1d1
00000000`3863e1c0 00000000`02616916 sqlservr!CEs::GeneralEval4+0x101
00000000`3863e270 00000000`02551d66 sqlservr!CQScanUpdateNew::GetRow+0x636
00000000`3863e300 00000000`0218f2ac sqlservr!CQueryScan::GetRow+0x76
00000000`3863e330 00000000`021908de sqlservr!CXStmtQuery::ErsqExecuteQuery+0x66c
00000000`3863e480 00000000`021910ec sqlservr!CXStmtDML::XretDMLExecute+0x2fe
00000000`3863e550 00000000`020d38a5 sqlservr!CXStmtDML::XretExecute+0xac
00000000`3863e580 00000000`020daac5 sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+0x4f5
00000000`3863e6d0 00000000`02123668 sqlservr!CMsqlExecContext::FExecute+0x775
00000000`3863e880 00000000`02148d62 sqlservr!CSQLSource::Execute+0xa38
00000000`3863e9f0 00000000`0214cd9c sqlservr!CStmtExecProc::XretLocalExec+0x262
00000000`3863ea70 00000000`02141250 sqlservr!CStmtExecProc::XretExecExecute+0x54c
00000000`3863f130 00000000`020d38a5 sqlservr!CXStmtExec::XretExecute+0x20
00000000`3863f170 00000000`020daac5 sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+0x4f5
00000000`3863f2c0 00000000`02123668 sqlservr!CMsqlExecContext::FExecute+0x775
00000000`3863f470 00000000`01f46a5a sqlservr!CSQLSource::Execute+0xa38
00000000`3863f5e0 00000000`01f4bbab sqlservr!process_request+0x43a
00000000`3863f860 00000000`03411dd6 sqlservr!process_commands+0x32b
00000000`3863fb40 00000000`034122ef sqlservr!SOS_Task::Param::Execute+0x116
00000000`3863fc40 00000000`03417713 sqlservr!SOS_Scheduler::RunTask+0xcf
00000000`3863fcb0 00000000`033f6a30 sqlservr!SOS_Scheduler::ProcessTasks+0x1c3
00000000`3863fd10 00000000`033faed6 sqlservr!SchedulerManager::WorkerEntryPoint+0x1f0
00000000`3863fda0 00000000`03400f67 sqlservr!SystemThread::RunWorker+0xd6
00000000`3863fde0 00000000`034015b1 sqlservr!SystemThreadDispatcher::ProcessWorker+0x337
00000000`3863fe70 00000000`781337a7 sqlservr!SchedulerManager::ThreadEntryPoint+0x271
00000000`3863ff20 00000000`78133864 msvcr80!_callthreadstartex+0x17
00000000`3863ff50 00000000`77d6b69a msvcr80!_threadstartex+0x84
00000000`3863ff80 00000000`00000000 kernel32!BaseThreadStart+0x3a
Pour plus d'informations sur le schéma d'appellation des mises à jour de Microsoft 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
Ce correctif est également inclus dans le package de mise à jour cumulative (build 3161) pour SQL Server 2005 Service Pack 2. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
935356 Le package de mise à jour cumulative (version 3161) pour SQL Server 2005 Service Pack 2 est disponible

Propriétés

Numéro d'article: 934106 - Dernière mise à jour: mardi 20 novembre 2007 - Version: 2.5
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
  • 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
Mots-clés : 
kbmt kbautohotfix kbsql2005repl kbfix kbexpertiseadvanced kbhotfixserver kbqfe kbpubtypekc KB934106 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: 934106
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