MODÈLE : transaction restaure arrêter de répondre avec un « mémoire requête minimum n'est pas disponible » message dans le journal des erreurs

Traductions disponibles Traductions disponibles
Numéro d'article: 298801 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Symptômes

Lorsque le montant de la mémoire physique est modifié à partir du serveur sur lequel une sauvegarde de journal des transactions est créée sur le serveur sur lequel la restauration est en cours de traitement, si index création ou la reconstruction activité fait partie d'une sauvegarde de journal des transactions, vous pouvez recevoir le message d'erreur suivant et l'opération de restauration peut ne jamais se terminer :
Traitement NNNN des pages de base de données dbname, le fichier « NomFichier » sur le fichier 1.
Celle-ci est combinée avec la message d'erreur suivant dans le journal des erreurs :
spid13 14:13:48.85 2001-03-18 peut effectuer l'opération demandée car la mémoire minimum de requête n'est pas disponible. Diminuer la valeur configurée pour l'option de configuration du serveur « min mémoire par requête ».
Ce problème produit uniquement lorsque la mémoire physique sur le serveur sur lequel le journal des transactions est restauré est inférieure à la mémoire sur le serveur sur lequel la sauvegarde a été créée.

Cause

L'opération de restauration cesse de répondre (se bloque) lorsque de la mémoire est insuffisante pour traiter certains enregistrements dans le journal des transactions. Si création d'index fait partie de la sauvegarde de journal de transaction sur le serveur sur lequel la sauvegarde a été créée, SQL Server nécessite un certain Octroi de mémoire pour effectuer les opérations de tri. Pendant la restauration du même journal des transactions, SQL Server tente d'obtenir le même nombre exact de mémoire pour terminer l'opération de tri index qui a été enregistrée dans la sauvegarde de journal de transaction. Si l'attribution de mémoire n'est pas reçue, le thread qui tente d'effectuer le tri des index provoque la message d'erreur et le thread ne se termine pas correctement. Le thread parent attend sur le thread qui effectue le tri pour renvoyer avec un délai infini.

Contournement

Pour contourner ce problème, procédez comme suit :
  1. Ajoutez davantage de mémoire VIVE au serveur sur lequel les journaux sont restaurés à fournir la mémoire nécessaire est nécessaire pour traiter la création d'index lors de restaurations de journal de transaction.
  2. Effectuer une sauvegarde complète ou différentielle pour redémarrer la séquence de sauvegarde.

Plus d'informations

Une opération de restauration dans SQL Server 7.0 utilise deux threads :

thread principal

-et-

thread d'arrière-plan

Le thread principal lit journal enregistre et fournit les à la thread de travail pour le traitement de récupération. Le thread de travail en arrière-plan est responsable d'effectuant les instructions qui sont transmises vers le bas par le thread principal. Certaines opérations incluent un tri d'index, ainsi que les autres opérations.

Si la création d'index est impliquée avec SQL Server 7.0, au lieu de journalisation des données de chaque modifier journaux SQL Server les composants clés suivants de la création d'index ou reconstruire l'activité :
  • Un enregistrement de journal qui indique l'index pour créer ou recréer
  • Enregistrements du journal qui indiquent les étendues de la base de données utilisées pour trier et de gérer les informations d'index
  • Enregistrements du journal qui indiquent la mémoire à utiliser pour effectuer les opérations de tri
Enregistrement de ces composants clé permet le rétablissement d'une création d'index pour effectuer le tri réel à nouveau lors d'une restauration mais réutiliser l'encombrement étendue physique exacte même pour correspondre à l'activité de création d'index d'origine. Cela permet d'éviter d'enregistrement de chaque modification de qu'une création d'index exécute à un niveau de la ligne. Pour rétablir la création d'index lors d'une restauration, un montant fixe de mémoire est requis pour effectuer le tri des index. Si cette mémoire n'est pas disponible pendant la restauration, une erreur d'exception se produit dans le thread qui exécute les opérations de tri, les résultats dans le thread en arrière-plan ne pas fin normalement et le siège restaurer thread attend indéfiniment le thread d'arrière-plan terminer. Par exemple, imaginez une situation dans laquelle une base de données est en cours sauvegardé en production sur un ordinateur qui dispose de 256 Mo mémoire vive (RAM) et est restauré sur un autre serveur sur lequel 128 Mo mémoire vive (RAM) pour le test. Si une sauvegarde du journal transaction implique des index création ou la reconstruction d'un index sur le serveur de sauvegarde, la sauvegarde de journal des transactions comprend les écritures minimales pour transmettre la création ou la reconstruction de l'index. Pendant la restauration, l'enregistrement de journal est en lecture pour trouver la mémoire utilisée par le tri sur l'ordinateur sur lequel la sauvegarde a été créée. SQL Server tente d'obtenir ce de la mémoire requête sur l'ordinateur de restauration. La mémoire maximale de requête est généralement limitée à environ la moitié de la mémoire totale SQL Server. Sur un ordinateur avec 128 Mo, par exemple, il est 64 Mo environ. Si 64 Mo ne peut pas être fournie pour le tri lors d'une restauration, SQL Server génère une erreur d'exception dans le thread d'arrière-plan, afin que le thread principal attend indéfiniment.

Vous verrez le même comportement sur le même serveur unique si la mémoire physique qui est disponible sur le serveur lorsque la sauvegarde a été créée est différente de la mémoire physique qui est disponible sur le serveur pendant la restauration.

Propriétés

Numéro d'article: 298801 - Dernière mise à jour: jeudi 6 février 2014 - Version: 1.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 7.0 Standard
Mots-clés : 
kbnosurvey kbarchive kbmt kbprb KB298801 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: 298801
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