CORRECTIF : vous pouvez rencontrer un scénario de blocage lorsque vous utilisez des variables de table dans SQL Server 2005 ou dans SQL Server 2008

Traductions disponibles Traductions disponibles
Numéro d'article: 960283 - Voir les produits auxquels s'applique cet article
Bogue #: 50003816 (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

Dans Microsoft SQL Server 2005 ou Microsoft SQL Server 2008, vous pouvez rencontrer un scénario de blocage lorsque vous exécutez une requête semblable au suivant :
INSERT <table variable> EXEC <stored procedure>

Résolution

Informations de mise à jour cumulative

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.

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.

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

Contournement

Pour contourner ce problème, utilisez table temporaire au lieu de variable de table.

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

Lorsque ce problème se produit, les événements ressemblent aux suivants sont enregistrés dans journal erreurs SQL Server :
<Date Time> spid4s      Deadlock encountered .... Printing deadlock information
<Date Time> spid4s      Wait-for graph
<Date Time> spid4s      
<Date Time> spid4s      Node:1

<Date Time> spid4s      OBJECT: 2:416629173:0          CleanCnt:3 Mode:Sch-S Flags: 0x0
<Date Time> spid4s       Grant List 1:
<Date Time> spid4s         Owner:0x05617D00 Mode: Sch-S    Flg:0x0 Ref:1 Life:00000000 SPID:56 ECID:0 XactLockInfo: 0x158308D4
<Date Time> spid4s         SPID: 56 ECID: 0 Statement Type: INSERT Line #: 64
<Date Time> spid4s         Input Buf: RPC Event: Proc [Database Id = 28 Object Id = 160719625]
<Date Time> spid4s       Requested By: 
<Date Time> spid4s         ResType:LockOwner Stype:'OR'Xdes:0x1B907648 Mode: Sch-M SPID:56 BatchID:0 ECID:0 TaskProxy:(0x4B938364) Value:0x561f060 Cost:(N/A)
<Date Time> spid4s      Deadlock monitor failed to resolve this deadlock.
Server may require restart to recover from this condition
<Date Time> spid4s      Using 'dbghelp.dll' version '4.0.5'
<Date Time> spid14s     deadlock-list
<Date Time> spid14s      deadlock victim=process0
<Date Time> spid14s       process-list
<Date Time> spid14s        process id=process9285c8 waitresource=OBJECT: 2:416629173:0  waittime=12593 ownerId=1746104 transactionname=droptemp lasttranstarted=<Date Time> XDES=0x1b907648 lockMode=Sch-M schedulerid=2 kpid=8652 status=suspended spid=56 sbid=0 ecid=0 priority=0 transcount=1 lastbatchstarted=<Date Time> lastbatchcompleted=<Date Time> clientapp=WstClient hostname=PTONEBOX02 hostpid=21660 loginname=NT AUTHORITY\NETWORK SERVICE isolationlevel=read committed (2) xactid=1745726 currentdb=28 lockTimeout=4294967295 clientoption1=673316896 clientoption2=128056
<Date Time> spid14s         executionStack
<Date Time> spid14s          frame procname=Group.dbo.psp_GroupEntityChangesGet line=64 stmtstart=4052 stmtend=4830 sqlhandle=0x03001c0009639409d6a1a100289b00000100000000000000
<Date Time> spid14s     INSERT @t_Rowset
<Date Time> spid14s             EXEC @i_ReturnCode = @vc_ProcName
<Date Time> spid14s                  @i_ReleaseVersion = @i_ReleaseVersion
<Date Time> spid14s                 ,@bi_ScopeID = @bi_ScopeID
<Date Time> spid14s                 ,@dt_StartDatetime = @dt_StartDatetime
<Date Time> spid14s                 ,@dt_EndDatetime = @dt_EndDatetime
<Date Time> spid14s                 ,@f_ReturnAll = @f_ReturnAll
<Date Time> spid14s                 ,@i_MaxRows = @i_MaxRows
<Date Time> spid14s                 ,@f_MoreRows = @f_MoreRows OUTPUT     
<Date Time> spid14s         inputbuf
<Date Time> spid14s     Proc [Database Id = 28 Object Id = 160719625]    
<Date Time> spid14s       resource-list
<Date Time> spid14s        objectlock lockPartition=0 objid=416629173 subresource=FULL dbid=2 objectname=tempdb.dbo.#18D541B5 id=lock13849a80 mode=Sch-S associatedObjectId=416629173
<Date Time> spid14s         owner-list
<Date Time> spid14s          owner id=process9285c8 mode=Sch-S
<Date Time> spid14s         waiter-list
<Date Time> spid14s          waiter id=process9285c8 mode=Sch-M requestType=wait
<Date Time> spid4s      **Dump thread - spid = 4, PSS = 0x059DA7D8, EC = 0x059DA7E0
<Date Time> spid4s      ***Stack Dump being sent to <drive>:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\<dumpname>.txt
<Date Time> spid4s      * *******************************************************************************
<Date Time> spid4s      *
<Date Time> spid4s      * BEGIN STACK DUMP:
<Date Time> spid4s      *   <Date Time> spid 4
<Date Time> spid4s      *
<Date Time> spid4s      * Unresolved deadlock
<Date Time> spid4s      *
<Date Time> spid4s      *  
<Date Time> spid4s      * *******************************************************************************

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: 960283 - Dernière mise à jour: lundi 19 janvier 2009 - Version: 3.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 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Workgroup Edition
  • 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 KB960283 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: 960283
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