Le processus de runtime SSIS 2008 se bloque lorsque vous exécutez le package SSIS 2008 sous une condition de mémoire basse

Traductions disponibles Traductions disponibles
Numéro d'article: 977190 - Voir les produits auxquels s'applique cet article
Microsoft distribue les correctifs de Microsoft SQL Server 2008 sous la forme d'un fichier téléchargeable unique. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et tous les correctifs de sécurité inclus avec la précédente de SQL Server 2008 version du correctif.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Que vous disposez du package 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 est sous une condition d'insuffisance de mémoire, une violation d'accès se produit, puis le processus de runtime SSIS 2008 se bloque. En outre, vous recevoir d'avertissements sur la mémoire faible dans le journal des applications de 2008 SSIS avoir l'aspect suivant :
Nom de l'événement : OnInformation

Description : Le Gestionnaire de mémoire tampon n'a pas pu un appel d'allocation mémoire pour 10484760 octets, mais n'a pas pu permuter les mémoires tampons pour soulager la pression de mémoire. 305 tampons ont été examinés et 295 étaient verrouillés. Soit pas assez de mémoire est disponible pour le pipeline car insuffisant 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 mémoire tampon allouée 10485608 d'octets, même si la pression de mémoire a été détectée et que plusieurs tentatives pour le remplacement des tampons ont échoué.


Remarque Les divers processus de runtime qui exécutent des 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 qui le package est en cours. Packages de parent, le processus DTExec.exe s'exécute. Le processus DTSHost.exe s'exécute packages enfants. Packages qui sont déboguées par Business Intelligence Studio de création, le processus DtsDebugHost.exe s'exécute.

Cause

2008 SSIS est averti que le serveur est sous une condition d'insuffisance de mémoire. Une condition de faible capacité de mémoire se produit lorsque seuls 128 mégaoctets (Mo) à 256 Mo de mémoire sont disponibles. Puis, le processus de runtime SSIS 2008 commence à permuter des mémoires tampons de pipeline de flux de données dans le dossier temporaire spécifié par la propriété BufferTempStoragePath.

Dans la situation qui est mentionnée dans la section ? Symptômes ?, les données dans une mémoire tampon sont copiées en interne dans un 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 pendant que le serveur est sous une condition d'insuffisance de mémoire. 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 provoque ensuite la violation d'accès.

Résolution

Ce correctif logiciel verrouille explicitement la mémoire tampon de destination pendant une opération de copie. Ce comportement empêche les autres threads de remplacement de la mémoire tampon de destination lorsque l'opération de copie est en cours d'exécution.Tout d'abord, le correctif de ce problème a été publié dans mise à jour cumulative 6 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 :
977443Package de mise à jour cumulative 6 pour SQL Server 2008 Service Pack 1
Remarque Les versions étant cumulatifs, chaque nouvelle version de correctif contient l'intégralité des correctifs et tous les correctifs de sécurité inclus avec la précédente de SQL Server 2008 version du correctif. Nous vous recommandons de procéder à l'application de la dernière version de 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 :
970365Versions de SQL Server 2008 publiées après SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 les correctifs sont créés pour les service packs pour SQL Server spécifiques. Vous devez appliquer un correctif SQL Server 2008 Service Pack 1 à une installation de SQL Server 2008 Service Pack 1. Par défaut, aucun correctif fourni dans un service pack SQL Server est inclu dans le prochain service pack SQL Server.

Contournement

Pour contourner ce problème, annulez l'état de faible capacité de mémoire. 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 comprise entre 32 Mo et 64 Mo. Par conséquent, nous vous recommandons de configurer le serveur pour allouer plus de 64 Mo de mémoire disponible à 2008 de SSIS.

La quantité de mémoire qui signale un événement de notification de ressource mémoire basse disponible par défaut varie. Cette mémoire disponible est comprise entre 32 Mo et 64 Mo pour chaque 4 gigaoctets (Go). Ce problème est difficile d'empêcher, car la mémoire disponible fluctue sur les serveurs de production occupé. En outre, la mémoire peut diminuer pour diverses autres raisons. Pour plus d'informations sur les notifications de ressources mémoire, reportez-vous au site Web de MSDN (Microsoft Developer Network) à l'adresse suivante :
Function that creates memory resource notification objects
Pour réduire la fréquence de ce problème, appliquez l'une des méthodes suivantes.

Méthode 1

Ajouter davantage 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 du serveur maximum 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 beaucoup de mémoire lorsque vous exécutez le package SSIS 2008 contient des tâches de flux de données.

Méthode 5

Exécuter le package SSIS 2008 et les tâches de flux de données dans la série au lieu d'en parallèle pour réduire l'utilisation de la mémoire.


Méthode 6

Utilisez la méthode décrite dans la sous-section «Comment faire pour surveiller la consommation de mémoire pour SSIS» de la section «Plus d'informations» pour résoudre les problèmes liés à la condition d'insuffisance de mémoire. Ensuite, optimiser l'utilisation de la mémoire pour 2008 de SSIS.

Statut

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 surveiller la consommation de mémoire pour SSIS

Surveiller la mémoire afin de mesurer l'utilisation de pointe pour différents processus d'exécution de SQL Server Integration Services calculer l'utilisation de la mémoire maximale

Surveillez l'utilisation de la mémoire pic des processus d'exécution SQL Server Integration Services (SSIS) différentes en utilisant les Octets privés compteur du processus objet dans l'Analyseur de performances. Le processus DTExec.exe et le processus DTSHost.exe constituent des exemples de processus d'exécution SSIS.

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

Surveiller les processus externes pour trouver les pics et creux

Surveillez l'utilisation de la mémoire pic des processus en dehors du service SQL Server et le service SSIS à l'aide d' Octets privés compteur du processus objet dans l'Analyseur de performances. Recherchez les heures d'utilisation de pointe susceptibles de réduire la mémoire disponible pour SSIS. Par exemple, heures de pointe sont lorsque plusieurs utilisateurs utilisent RDP (Remote Desktop Protocol) pour se connecter au serveur ou lorsque l'exécution d'un logiciel de sauvegarde.

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

Si le message «Using verrouillé pages pour le pool de tampons» n'est pas dans le fichier de journal de l'erreur la plus récent, Octets privés compteur pour le processus sqlservr.exe, peut indiquer la quantité de mémoire est consommée par les services SQL Server.

Si le message «Using verrouillé pages pour le pool de tampons» est inclus dans le fichier le plus récent journal d'erreur, utilisez la Mémoire totale du serveur (Ko) compteur de la SQLServer : Gestionnaire 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 les Octets privés compteur pour que 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 du Gestionnaire des tâches ne pas affichent la mémoire consommée par ces pages de pool de mémoire tampon lorsque l'une des conditions suivantes est remplie :
  • Le droit d'utilisateur de Verrouiller des pages en mémoire est attribué au compte de démarrage du service SQL Server.
  • AWE activé de la mémoire.
Remarque Lorsque l'une des conditions suivantes est remplie, les Octets privés des compteurs pour le processus sqlservr.exe, doit indiquer la quantité de mémoire est consommée par les services SQL Server pour différentes instances de SQL Server.

Surveiller la valeur minimale de mémoire disponible dans Windows

Pour surveiller la quantité de mémoire est disponible dans Windows, appliquez l'une des méthodes suivantes :
  • Utilisez les Méga-octets disponibles compteur dans l'Analyseur de performances pour indiquer la quantité de mémoire est disponible.
  • Vue Physical Memory (Mo) ? disponible valeur sous l'onglet performances du Gestionnaire des tâches.

    Remarque Dans certains systèmes d'exploitation, Physical Memory (Mo) ? disponible valeur est indiquée comme la valeur de Mémoire physique (Ko) ? disponible.

Références

Pour savoir 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 :
935897Un modèle de service incrémentiel est disponible à partir de l'équipe SQL Server pour la fourniture des correctifs logiciels pour les problèmes signalés


Pour plus d'informations sur le modèle d'affectation de noms pour les mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
822499Nouveau modèle 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 de logiciel, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
824684Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Propriétés

Numéro d'article: 977190 - Dernière mise à jour: vendredi 29 janvier 2010 - Version: 1.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
Mots-clés : 
kbmt kbexpertiseadvanced kbfix kbsurveynew kbqfe kbhotfixserver KB977190 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: 977190
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