CORRECTIF : l'espace utilisé dans la base de données tempdb augmente continuellement lorsque vous exécutez une requête qui crée des objets internes dans la base de données tempdb dans SQL Server 2005

Traductions disponibles Traductions disponibles
Numéro d'article: 947204 - Voir les produits auxquels s'applique cet article
Bogue #: 50002301 (correctifs SQL)
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

Symptômes

Dans Microsoft SQL Server 2005, vous exécutez une requête qui crée des objets internes dans la base de données tempdb . Lorsque vous exécutez la requête plusieurs fois, l'espace utilisé dans la base de données tempdb augmente en permanence. Enfin, la base de données tempdb devient complet. En outre, vous devez redémarrer le service SQL Server pour nettoyer la base de données tempdb .

Lorsque ce problème se produit, vous exécutez l'instruction suivante par rapport à la base de données tempdb autant de fois.
SELECT SUM(internal_object_reserved_page_count) AS [internal object pages used],
(SUM(internal_object_reserved_page_count)*1.0/128) AS [internal object space in MB]
FROM sys.dm_db_file_space_usage;
Si vous effectuez cette opération, la valeur de la colonne internal_object_reserved_page_count augmente chaque fois que vous exécutez cette instruction.

Ensuite, vous demander le mode de gestion dynamique sys.dm_db_session_space_usage. Lorsque vous effectuez cette opération, la valeur de la colonne internal_objects_alloc_page_count augmente sans une augmentation de la valeur de la colonne internal_objects_dealloc_page_count correspondante.

Cause

Chaque fois que vous exécutez la requête SQL Server crée des objets internes dans la base de données tempdb . Dans certaines conditions, SQL Server ne désallouer pas les pages qui sont alloués pour les objets internes de la base de données tempdb .

Résolution

Le correctif de ce problème a été tout d'abord publié en mise à jour cumulative 6. Pour plus d'informations sur l'obtention de ce package de mise à jour cumulative de SQL Server 2005 Service Pack 2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
946608 Package de cumulative mise à jour 6 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é
Les correctifs Microsoft SQL Server 2005 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.

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

Pour plus savoir une liste complète des opérations qui utilisent des objets internes, reportez-vous au adresse aux sites Web de Microsoft aux adresses suivantes :
http://msdn2.microsoft.com/en-us/library/ms174412.aspx

http://technet.microsoft.com/en-us/library/cc966545.aspx
Pour déterminer la session ID (SPID) qui affecter des pages dans la base de données tempdb problématique, vous pouvez examiner le tampon en anneau allocation. Pour ce faire, vous devez tout d'abord activer l'indicateur de suivi 1106. Par défaut, l'indicateur de suivi 1106 n'est pas activé. Ensuite, vous devez exécuter l'instruction suivante pour afficher les informations de répartition et les informations de libération dans la base de données tempdb .
SELECT 
record.value('(Record/@id)[1]', 'int') AS record_id,
CONVERT (varchar, DATEADD (ms, -1 * ((inf.cpu_ticks / inf.cpu_ticks_in_ms) - [timestamp]), GETDATE()), 126) AS EventTime,
[timestamp] ,
 record.value('(Record/@id)[1]', 'int') AS RingBuffer_Record_Id,
 record.value('(Record/ALLOC/Event)[1]', 'int') AS AllocationEventType,
 record.value('(Record/ALLOC/SpId)[1]', 'int') AS SpId,
 record.value('(Record/ALLOC/EcId)[1]', 'int') AS EcId,
 record.value('(Record/ALLOC/PageId)[1]', 'nvarchar(50)') AS AllocatedPageId,
 record.value('(Record/ALLOC/AuId)[1]', 'nvarchar(50)') AS AllocationUnitId,
 record.value('(Record/ALLOC/LsId)[1]', 'nvarchar(50)') AS LsId
FROM sys.dm_os_sys_info inf CROSS JOIN (
SELECT timestamp, CONVERT (xml, record) AS record 
FROM sys.dm_os_ring_buffers 
WHERE ring_buffer_type = 'RING_BUFFER_ALLOC_TRACE'
AND ( record LIKE '%<Event>23</Event>%' -- uniform extent allocation
OR record LIKE '%<Event>22</Event>%' -- uniform extent deallocation
OR record LIKE '%<Event>24</Event>%' -- mixed extent allocation
OR record LIKE '%<Event>25</Event>%' -- mixed extent deallocation
OR record LIKE '%<Event>10</Event>%' -- page allocation
OR record LIKE '%<Event>11</Event>%' -- page deallocation
)) AS t
    ORDER BY record.value('(Record/@id)[1]', 'int') ASC 
Vous pouvez comparer ces informations aux informations de SQL Server Profiler pour déterminer les requêtes qui affecter des pages et qui ne désallouer pas les pages de la base de données tempdb .

note Vous nous recommandons de ne pas utiliser indicateur de suivi 1106 sur les serveurs de production, car l'indicateur de suivi 1106 affecte les performances de SQL Server.

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 :
946608 Package de cumulative mise à jour 6 pour SQL Server 2005 Service Pack 2

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: 947204 - Dernière mise à jour: mardi 19 février 2008 - Version: 1.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise 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 kbsql2005engine kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced KB947204 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: 947204
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