Partager via


MSSQLSERVER_845

S'applique à :SQL Server

Détails

Attribut Valeur
Nom du produit Serveur SQL
ID de l’événement 845
Source de l’événement MSSQLSERVER
Composant SQLEngine
Nom symbolique Délai d'attente de verrouillage du buffer
Texte du message Dépassement du délai lors de l'attente du type de verrou de mémoire tampon %d, page %S_PGID, ID de base de données %d.

Explication

Un processus était en attente d’obtention d’un verrou, mais n’a pas pu se le procurer suite à l’expiration du délai. Cette situation peut se produire si une opération d'E/S prend trop de temps à s'accomplir, souvent à cause d'autres tâches qui bloquent les processus système. Dans certains cas, cette erreur peut être le résultat d’une défaillance matérielle.

La cause

Ce message d’erreur dépend de l’environnement global de votre système. L’une des circonstances suivantes peut entraîner un système surstressé :

  • Matériel qui ne répond pas à vos besoins en entrées/sorties (E/S) et mémoire
  • Paramètres configurés et testés de manière incorrecte
  • Conception inefficace

Vous pouvez observer l’erreur 845 lorsque votre système est sous une charge importante et ne peut pas répondre aux demandes de charge de travail. Voici quelques-unes des causes les plus courantes d’un environnement surchargé :

  • Problèmes matériels
  • Volumes compressés
  • Paramètres de configuration SQL Server non définis par défaut
  • Requêtes ou conception d’index inefficaces
  • Opérations fréquentes de croissance automatique ou autoshrink de base de données

Action de l’utilisateur

Pour prévenir cette erreur, procédez comme suit :

  • Déterminez si vous êtes en proie à des goulots d’étranglement matériels. Consultez Identifier les goulots d’étranglement pour un bon point de départ. Si nécessaire, mettez à niveau votre matériel pour qu’il puisse répondre aux besoins de votre environnement en matière de configuration, de requêtes et de charge.

  • Vérifiez que l’ensemble de votre matériel fonctionne correctement. Vérifiez si vous avez des erreurs dans le journal et exécutez tous les diagnostics que votre fournisseur de matériel vous a procurés. Recherchez les erreurs d'E/S assimilées dans le journal des erreurs ou le journal des événements. Les erreurs d'E/S révèlent généralement un disque défectueux.

  • Vérifiez que vos volumes de disque ne sont pas compressés. Le stockage des données et des fichiers journaux sur les lecteurs compressés n’est pas pris en charge, consultez Fichiers de base de données et groupes de fichiers. Pour plus d’informations sur la prise en charge du lecteur compressé, consultez l’article suivant : Description de la prise en charge des bases de données SQL Server sur des volumes compressés

  • Vérifiez si les messages d’erreur disparaissent lorsque vous désactivez toutes les options de configuration SQL Server suivantes :

  • Ajustez les requêtes pour réduire les ressources utilisées sur le système. Le réglage des performances permet de réduire le stress sur un système et d’améliorer le temps de réponse pour les requêtes individuelles.

  • Définissez la propriété autoshrink sur OFF pour réduire la surcharge des modifications apportées à la taille de votre base de données.

  • Veillez à définir la propriété de croissance automatique sur des incréments suffisamment volumineux pour être peu fréquents. Planifiez un travail pour vérifier l’espace disponible dans vos bases de données, puis augmentez la taille de la base de données pendant les heures creuses.

  • Recherchez dans le journal des erreurs les tâches improductives et d’autres erreurs critiques. Résolvez ces erreurs en premier, car elles peuvent révéler la cause racine du problème sous-jacent.

  • Si des erreurs critiques telles que des assertions se produisent fréquemment, résolvez ces problèmes.

  • Si les messages d’erreur 845 sont peu fréquents, vous pouvez ignorer les erreurs.