Microsoft distribue les correctifs de Microsoft SQL Server 2008 en tant que fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et correctifs de sécurité inclus dans la précédente 2008 de SQL Server version du correctif.

Symptômes

Vous avez un package Microsoft SQL Server 2008 Integration Services (SSIS 2008). Le package contient une tâche de flux de données. Lorsque vous exécutez le package sur un serveur qui se trouve sous une condition de mémoire insuffisante, une violation d’accès se produit, et ensuite le processus d’exécution SSIS 2008 se bloque. En outre, vous recevez sur mémoire insuffisante des avertissements semblables aux suivants dans le journal des applications de 2008 SSIS :

Nom de l’événement : OnInformation

Description : Le Gestionnaire de tampons a échoué à un appel d’allocation de mémoire pour 10484760 octets, mais n’a pas pu permuter les tampons pour soulager la pression sur la mémoire. 305 tampons ont été analysés et 295 ont été verrouillés. Soit pas assez de mémoire est disponible pour le pipeline car pas assez sont installés, autres processus l’utilisiez ou trop grand nombre de tampons est verrouillé.



Nom de l’événement : OnInformation


Description : Le Gestionnaire de tampons a alloué 10485608 octets, même si la sollicitation de la mémoire a été détectée et que des tentatives répétées de permuter les tampons ont échoué.



Remarque Les divers processus de runtime qui exécutent les packages SSIS 2008 sont DTExec.exe, DTSHost.exe ou DTSDebugHost.exe. Le processus qui exécute le package SSIS 2008 est déterminé par les conditions située sous le package. Le processus DTExec.exe exécute les packages parent. Le processus de DTSHost.exe exécute les packages enfants. Le processus DtsDebugHost.exe exécute les lots par Business Intelligence Design Studio de débogage.

Cause

SSIS 2008 est informé que le serveur est sous une condition de mémoire insuffisante. Une condition de mémoire insuffisante se produit lorsque seulement 128 mégaoctets (Mo) à 256 Mo de mémoire sont disponibles. Ensuite, le processus d’exécution SSIS 2008 commence à permuter les tampons de pipeline de flux de données dans le dossier temporaire qui est spécifié par la propriété BufferTempStoragePath .


Dans le cas mentionné dans la section « Symptômes », les données dans une mémoire tampon sont copiées en interne dans une mémoire tampon de destination par une transformation. Par exemple, les données dans une mémoire tampon sont copiées par une transformation Merge Join. Cette opération se produit alors que le serveur est sous une condition de mémoire insuffisante. Toutefois, la transformation ne reconnaît pas qu’un thread en dehors de la transformation permutée soudainement le tampon de destination. Par conséquent, l’opération de copie échoue et puis provoque la violation d’accès.

Résolution

Ce correctif logiciel verrouille le tampon de destination explicitement au cours d’une opération de copie. Ce comportement empêche les autres threads de remplacement de la mémoire tampon de destination lors de l’exécution de l’opération de copie.
Le correctif de ce problème a été publié dans 6 de mise à jour Cumulative pour SQL Server 2008 Service Pack 1. 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 :

977443 Cumulative mise à jour 6 pour SQL Server 2008 Service Pack 1Remarque Les versions étant cumulatives, chaque nouvelle version du correctif contient tous les correctifs et correctifs de sécurité inclus dans la précédente version du correctif de SQL Server 2008. Nous vous recommandons l’application la plus récente version du correctif 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 :

970365 the SQL Server versions 2008 publiées après SQL Server 2008 Service Pack 1
Les correctifs Microsoft SQL Server 2008 sont créés pour les packs de service spécifiques de SQL Server. Vous devez appliquer un correctif SQL Server 2008 Service Pack 1 dans une installation de SQL Server 2008 Service Pack 1. Par défaut, tout correctif qui est fourni dans un service pack de SQL Server est inclus dans le prochain service pack de SQL Server.

Solution de contournement

Pour contourner ce problème, résoudre le problème de mémoire insuffisante. La quantité de mémoire qui peut déclencher ce problème varie pour les différents ordinateurs. En règle générale, ce montant est entre 32 et 64 Mo. Par conséquent, nous vous recommandons de configurer le serveur pour allouer plus de 64 Mo de mémoire disponible pour 2008 de SSIS.

Le montant par défaut de mémoire qui signale un événement de notification de ressource mémoire basse disponible fluctue. Cette mémoire est comprise 32 Mo et 64 Mo pour chaque 4 gigaoctets (Go). Ce problème est difficile à éviter, car la mémoire disponible fluctue sur les serveurs de production en activité. En outre, la mémoire peut diminuer pour diverses autres raisons. Pour plus d’informations sur les notifications de ressources mémoire, visitez le site Web de Microsoft Developer Network (MSDN) à l’adresse suivante :

Fonction qui crée des objets de notification de ressource mémoirePour réduire la fréquence de ce problème, appliquez l’une des méthodes suivantes.

Méthode 1

Ajouter plus de mémoire physique à l’ordinateur.

Méthode 2

Exécutez le package SSIS 2008 sur un ordinateur qui n’exécute pas une instance de SQL Server.

Méthode 3

Lorsque vous exécutez le package SSIS 2008, définissez l’option de mémoire de serveur maximale pour l’instance de SQL Server 2008 à une valeur inférieure. Ce comportement augmente la mémoire disponible.

Méthode 4

Quitter les applications qui consomment une grande quantité de mémoire lorsque vous exécutez le package SSIS 2008 qui contient les tâches de flux de données.


Méthode 5

Exécutez le package SSIS 2008 et les tâches de flux de données de série plutôt qu’en parallèle pour réduire l’utilisation de la mémoire.


Méthode 6

Utilisez la méthode qui est décrite dans la sous-section « Comment faire contrôler la consommation de mémoire pour SSIS » de la section « Informations supplémentaires » pour résoudre les problèmes de la condition de mémoire insuffisante. Ensuite, optimiser l’utilisation de la mémoire pour 2008 de SSIS.

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Comment faire pour surveiller la consommation de mémoire pour SSIS

Analyser la mémoire pour mesurer le niveau d’utilisation maximal pour différents processus d’exécution de SQL Server Integration Services calculer l’utilisation de la mémoire maximale


Surveiller l’utilisation de la mémoire maximale des opérations SQL Server Integration Services (SSIS) lors de l’exécution à l’aide de la
Octets privés
compteur de la
Processus
objet analyseur de performances. Le processus de DTExec.exe et DTSHost.exe sont des exemples de processus d’exécution SSIS.


Lorsque les packages SSIS sont en cours d’exécution, trouver la valeur maximale pour le
Octets privés
compteur. Lorsque plusieurs lots sont en cours d’exécution en parallèle, additionnez les valeurs maximales de tous les processus en cours d’exécutant pour obtenir la valeur maximale pour l’utilisation de la mémoire.

Surveiller les processus externes pour trouver les pics et les creux


Surveiller l’utilisation de la mémoire maximale de processus en dehors du service SQL Server et le service SSIS à l’aide de la
Octets privés
compteur de la
Processus
objet analyseur de performances. Recherchez les heures de pleine activité susceptibles de réduire la mémoire disponible pour SSIS. Par exemple, les heures de pointe sont lorsque plusieurs utilisateurs utilisent le protocole RDP (Remote Desktop) pour se connecter au serveur, ou lorsque le logiciel de sauvegarde est en cours d’exécution.

Surveiller l’utilisation mémoire de SQL Server pour trouver les pics et les creux


Si le message « Using verrouillé des pages pour le pool de tampons » n’est pas dans le fichier journal des erreurs la plus récent, le
Octets privés
compteur pour le processus Sqlservr.exe indique combien de mémoire est consommée par les services de SQL Server.



Si le message « Using verrouillé des pages pour le pool de tampons » est inclus dans le dernier fichier de journal d’erreur, utilisez le
Mémoire totale du serveur (Ko)
compteur de la
De SQL Server : Gestionnaire de mémoire
objet de performance pour mesurer l’utilisation de la mémoire du pool de mémoire tampon de SQL Server. En outre, utiliser la
Octets privés
compteur pour le processus Sqlservr.exe trouver les allocations de mémoire en dehors du pool de mémoire tampon (MemToLeave). La somme de la valeur du compteur Mémoire totale du serveur (Ko) et la valeur MemToLeave est une bonne estimation de la quantité totale de mémoire utilisée par SQL Server.



L’Analyseur de performances et le Gestionnaire des tâches ne s’affichent pas la mémoire consommée par ces pages de pool de mémoire tampon lorsqu’une des conditions suivantes est vraie :

  • Le
    Droit d’utilisateur Verrouiller des Pages en mémoire est attribué au compte de démarrage du service SQL Server.

  • Le
    AWE
    la mémoire est activée.

Remarque
Lorsqu’une de ces conditions est vraie, la
Octets privés
compteur pour le processus Sqlservr.exe doit indiquer la quantité de mémoire consommée par les services SQL Server pour plusieurs instances de SQL Server.

Contrôler la valeur minimale de mémoire disponible dans Windows


Pour surveiller la quantité de mémoire est disponible dans Windows, utilisez une des méthodes suivantes :

  • Utilisez le
    Mégaoctets disponibles
    compteur de l’Analyseur de performances pour indiquer combien de mémoire est disponible.

  • Affichage de la
    Libérer de la mémoire physique (Mo) :
    valeur de l’onglet performances du Gestionnaire des tâches.


    Remarque
    Dans certains systèmes d’exploitation, la Mémoire physique (Mo) – gratuit
    valeur est étiqueté comme la valeur de la Mémoire physique (Ko) – disponible .

Références

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émentiel est disponible auprès de l’équipe SQL Server pour proposer des correctifs pour les problèmes signalés



Pour plus d’informations sur le schéma d’appellation des mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

822499 Nouveau schéma d’affectation de noms pour les packages de mise à jour logicielle de Microsoft SQL Server

Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft

Besoin d’aide ?

Développez vos compétences

Découvrez des formations >

Accédez aux nouvelles fonctionnalités en avant-première

Rejoindre Microsoft Insider >

Ces informations vous ont-elles été utiles ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?

Nous vous remercions de vos commentaires.

×