DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 917825 - Dernière mise à jour: lundi 4 février 2013 - Version: 3.0

 

Sommaire

Résumé

L'utilitaire Sqldumper.exe est fourni avec Microsoft SQL Server 2005, Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2 et Microsoft SQL Server 2012. Cet article décrit comment utiliser l'utilitaire Sqldumper.exe pour générer un fichier de vidage pour le rapport d'erreurs Watson ou pour les tâches de débogage.

Plus d'informations

Vous pouvez utiliser l'utilitaire Sqldumper.exe pour générer un fichier de vidage à la demande pour n'importe quelle application Microsoft Windows. Par exemple, vous pouvez générer un fichier de vidage pour le débogage d'un problème d'application lorsqu'un ordinateur qui exécute SQL Server 2005, Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2, ou Microsoft SQL Server 2012 ne répond pas aux demandes des utilisateurs. Un fichier de vidage peut être un fichier minidump, un fichier de vidage complet ou un fichier de vidage filtré.

Toutefois, vous ne pouvez pas utiliser l'utilitaire Sqldumper.exe pour le débogage usage général. Pour plus d'informations sur le débogage d'usage général, visitez le site Web de Microsoft à l'adresse suivante :
http://www.Microsoft.com/whdc/devtools/debugging/default.mspx (http://www.microsoft.com/whdc/devtools/debugging/default.mspx)
Le processus SQL Server appelle l'utilitaire Sqldumper.exe en interne pour générer un fichier de vidage lorsque le processus est confronté à des exceptions. SQL Server transmet les indicateurs à l'utilitaire Sqldumper.exe. Vous pouvez utiliser les indicateurs de trace permet de modifier les indicateurs de SQL Server passe à l'utilitaire dans le contexte d'une exception ou dans le contexte une assertion. Ces indicateurs de trace sont dans la plage comprise entre 2540 2559. Vous pouvez utiliser ces indicateurs de trace pour générer certains types de fichiers de vidage. Par exemple :
  • Indicateur de trace 2551 : Génère une image mémoire filtrée
  • Indicateur de trace 2544 : Génère une image mémoire complète
  • Indicateur de trace 2546 : Exporte tous les threads de SQL Server dans le fichier de vidage
  • Indicateur de trace 8026 : SQL Server va effacer un dumptrigger après avoir généré le vidage une fois
Si deux ou plusieurs indicateurs de trace sont actives, l'option indiquant l'image plus grande de la mémoire sera respectée. Si les indicateurs de trace 2551 et 2544 sont utilisées, SQL Server crée une image mémoire complète.

Comment faire pour obtenir un identificateur de processus d'application Microsoft Windows

Pour générer un fichier de vidage à l'aide de l'utilitaire Sqldumper.exe, vous devez disposer de l'identificateur de processus de l'application Windows pour lequel vous souhaitez générer un fichier de vidage. Pour obtenir l'identificateur de processus, procédez comme suit :
  1. Appuyez sur CTRL + ALT + SUPPR, puis cliquez sur Gestionnaire des tâches.
  2. Dans le Gestionnaire des tâches Windows boîte de dialogue, cliquez sur le Processus onglet.
  3. Sur la Affichage menu, cliquez sur Sélectionnez les colonnes.
  4. Dans le Sélectionnez les colonnes boîte de dialogue, sélectionnez la PID (identificateur de processus) case à cocher, puis cliquez sur OK.
  5. Notez l'identificateur de processus de l'application Windows pour lequel vous souhaitez générer un fichier de vidage. Pour l'application de SQL Server, notez l'identificateur de processus du processus Sqlservr.exe.
  6. Fermer Gestionnaire des tâches.
Vous pouvez également obtenir l'identificateur de processus de l'application de SQL Server est exécuté sur votre ordinateur en utilisant le fichier journal des erreurs SQL Server. Par exemple, la partie du fichier journal erreur SQL Server semblable au suivant :

2006-04-18 09:53:03.94 Serveur Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X 86)
Le 14 octobre 2005 00:33:37
Copyright (c) 1988-2005 Microsoft Corporation
Édition entreprise sur Windows NT 5.2 (Build 3790 : Service Pack 1)

Serveur 09:53:03.94 2006-04-18 (c) 2005 Microsoft Corporation.
2006-04-18 09:53:03.94 Server tous droits réservés.
ID de processus serveur 2006-04-18 09:53:03.94 est 3716.

Le numéro qui apparaît après ID de processus serveur est l'identificateur de processus pour le processus Sqlservr.exe.

Comment faire pour exécuter l'utilitaire Sqldumper.exe

Exécutez l'utilitaire Sqldumper.exe dans le contexte du dossier dans lequel SQL Server initialement installé l'utilitaire. Par défaut, le chemin d'installation de l'utilitaire Sqldumper.exe est comme suit :
SQLServerInstallDrive: \Program Files\Microsoft SQL Server\90\Shared\SQLDumper.exe
RemarqueSQLServerInstallDrive est un espace réservé pour le lecteur où vous avez installé SQL Server 2005.

Pour générer un fichier de vidage à l'aide de l'utilitaire Sqldumper.exe, procédez comme suit :
  1. Ouvrez le dossier suivant :
    SQLServerInstallDrive: \Program Files\Microsoft SQL Server\nombre\Shared
    Remarque : Dans ce chemin d'accès du dossier, nombre est un espace réservé pour l'une des opérations suivantes :
    • Le nom du dossier est égal à 110 pour SQL Server 2012.
    • Le nom du dossier est de 100 pour SQL Server 2008.
    • Le nom du dossier 90 pour SQL Server 2005.

  2. Assurez-vous que le fichier Dbghelp.dll est dans ce dossier.
  3. Cliquez sur Démarrer, cliquez sur Exécuter, type cmd, puis cliquez sur OK.
  4. À l'invite de commandes, tapez la commande suivante et appuyez sur ENTRÉE :
    CD SQLServerInstallDrive: \Program Files\Microsoft SQL Server\nombre\Shared
    Remarque : Dans ce chemin d'accès du dossier, le nombre est un espace réservé pour l'une des opérations suivantes :
    • Le nom du dossier est égal à 110 pour SQL Server 2012.
    • Le nom du dossier est de 100 pour SQL Server 2008.
    • Le nom du dossier 90 pour SQL Server 2005.
  5. Pour générer un type spécifique de fichier de vidage, tapez la commande correspondante à l'invite de commande et appuyez sur ENTRÉE :
    • Fichier de vidage complet
      Sqldumper.exe ProcessID 0 0x01100
    • Fichier minidump
      Sqldumper.exe ProcessID 0 0 x 0120
    • Fichier minidump qui inclut la mémoire référencée indirectement
      Sqldumper.exe ProcessID 0 0x0120:40
    • Fichier de vidage filtré
      Sqldumper.exe ProcessID 0 x 8100
    RemarqueProcessID est un espace réservé pour l'identificateur de processus de l'application Windows pour lequel vous souhaitez générer un fichier de vidage.
Si l'utilitaire Sqldumper.exe s'exécute correctement, l'utilitaire génère un fichier de vidage dans le dossier où est installé l'utilitaire.

Le fichier de vidage qui génère de l'utilitaire Sqldumper.exe a un modèle de nom de fichier semblable au suivant :
SQLDmprxxxx.mdmp
Dans ce modèle, xxxx un nombre croissant est déterminé est basé sur les autres fichiers qui ont un nom de fichier similaire dans le même dossier. Si vous avez déjà des fichiers qui ont des noms de fichiers dans le modèle spécifié dans le dossier, vous devrez peut-être comparer la date et l'heure à laquelle le fichier a été créé pour identifier le fichier que vous souhaitez.

Considérations et des informations supplémentaires

Lorsque l'utilitaire Sqldumper.exe génère un fichier dump pour une application Windows, le fichier de vidage peut être aussi grand que la mémoire utilisée par l'application Windows. Vérifiez que suffisamment d'espace disque est disponible sur le lecteur sur lequel l'utilitaire Sqldumper.exe écrit le fichier de vidage.

Vous pouvez spécifier le répertoire où vous souhaitez que l'utilitaire Sqldumper.exe pour écrire le fichier de vidage. Le répertoire doit exister avant d'exécuter l'utilitaire Sqldumper.exe. Dans le cas contraire, l'utilitaire Sqldumper.exe échouera. N'utilisez pas un chemin UNC comme emplacement pour le fichier de vidage. Voici un exemple de la façon de spécifier l'emplacement du fichier de vidage du fichier minidump :
  1. Cliquez sur Démarrer, cliquez sur Exécuter, type cmd, puis cliquez sur OK.
  2. À l'invite de commandes, tapez la commande suivante et appuyez sur ENTRÉE :
    CD SQLServerInstallDrive: \Program Files\Microsoft SQL Server\nombre\Shared
    Remarque : Dans ce chemin d'accès du dossier, nombre est un espace réservé pour l'une des opérations suivantes :
    • Le nom du dossier est égal à 110 pour SQL Server 2012.
    • Le nom du dossier est de 100 pour SQL Server 2008.
    • Le nom du dossier 90 pour SQL Server 2005.
  3. Tapez la commande suivante à l'invite de commande et appuyez sur ENTRÉE :
    Sqldumper.exe ProcessID 0 0 x 0120 0 MdumpPath
    RemarqueMdumpPathest un espace réservé pour le répertoire où vous souhaitez que l'utilitaire Sqldumper.exe pour écrire le fichier de vidage. Par défaut, le fichier est écrit dans le dossier en cours.
Si vous spécifiez un fichier de vidage complet ou un fichier de vidage filtré doit être généré, l'utilitaire Sqldumper.exe peut prendre plusieurs minutes pour générer le fichier de vidage. Le temps dépend de variables suivantes :
  • La quantité de mémoire utilisée par l'utilitaire Sqldumper.exe
  • La vitesse du lecteur sur lequel l'utilitaire écrit le fichier de vidage
Pendant ce temps, l'utilitaire Sqldumper.exe ne traitera pas les commandes. Vous remarquerez que le serveur a cessé de répondre. En outre, un cluster de basculement peut se produire.

Pour exécuter l'utilitaire Sqldumper.exe, vous devez ouvrir une session Windows en utilisant l'une des méthodes suivantes :
  • Utiliser un compte qui est membre du groupe Administrateurs sur l'ordinateur.
  • Utilisez le même compte d'utilisateur sous lequel le service SQL Server s'exécute.
Pour que l'utilitaire Sqldumper.exe fonctionner correctement via Bureau à distance ou via les Services Terminal Server, vous devez démarrer le Bureau à distance ou Terminal Server en mode console. Par exemple, pour démarrer le Bureau à distance en mode console, cliquez sur Démarrer, cliquez sur Exécuter, type mstsc /console, puis cliquez sur OK. Sachez que si le serveur cible exécute Windows 2000, l'option /console est silencieusement ignorée. Vous pouvez vous connecter au serveur via le Bureau à distance. Mais vous n'utiliserez pas la session de console.
Si vous remarquez qu'aucun fichier de vidage n'a été généré dans le dossier actuel une fois que vous exécutez l'utilitaire Sqldumper.exe, passez en revue les informations que l'utilitaire a généré sur la ligne de commande pour tenter de déterminer la cause possible de l'échec. Cette information est également enregistrée dans le fichier fichier Sqldumper_errorlog.log dans le répertoire en cours. Voici deux messages d'erreur possibles et leurs causes :
Message 1
Échec de OpenProcess 0 - le paramètre est incorrect

Non valide ID de processus a été passé à l'utilitaire Sqldumper.exe.
Message 2
Valeur non valide pour l'id de thread - erreur de paramètre de <invalid parameter=""> </invalid>

Un paramètre non valide a été passé à l'utilitaire Sqldumper.exe.

Si un message d'erreur semblable à l'un des éléments suivants est généré, vous pouvez ignorer ce message :

Type de rappel inconnue pendant minidump 6
Type de rappel inconnue pendant minidump 7

Les basculements de cluster et l'utilitaire Sqldumper.exe

Dans les scénarios de basculement de cluster, la ressource SQL Server DLL pouvez désormais obtenir un fichier de vidage avant le basculement se produit. Lorsque la DLL de ressource SQL Server détermine qu'une ressource SQL Server a échoué, la ressource SQL Server DLL utilise l'utilitaire Sqldumper.exe pour obtenir un fichier de vidage du processus SQL Server. Pour vous assurer que l'utilitaire Sqldumper.exe génère correctement le fichier de vidage, vous devez définir les trois propriétés suivantes comme conditions préalables :
  • SqlDumperDumpTimeOut
    Un délai d'attente spécifié par l'utilisateur. La ressource que DLL attend que le fichier de vidage soient terminées avant la DLL de ressource s'arrête le service SQL Server.
  • SqlDumperDumpPath
    L'emplacement où l'utilitaire Sqldumper.exe génère le fichier de vidage.
  • SqlDumperDumpFlags
    Indicateurs qui utilise l'utilitaire Sqldumper.exe.
Si l'une des propriétés n'est pas définie, l'utilitaire Sqldumper.exe ne peut pas générer le fichier de vidage. Un message d'avertissement est enregistré dans le journal des événements et dans le journal de cluster à chaque fois que la ressource est mise en ligne.

Pour définir les propriétés d'utilitaire Sqldumper.exe pour le basculement de cluster, procédez comme suit :
  1. Cliquez sur Démarrer, cliquez sur Exécuter, type cmd, puis cliquez sur OK.
  2. Pour chaque propriété, tapez la commande correspondante à l'invite de commande et appuyez sur ENTRÉE :
    • Le SqlDumperDumpFlags propriété
      Pour définir le SqlDumperDumpFlags propriété pour un type spécifique de fichier de vidage, tapez la commande correspondante à l'invite de commande et appuyez sur ENTRÉE :
      • Tous les fichiers de vidage complet de thread
        • Instance par défaut
          « SQL Server » /priv SqlDumperDumpFlags la ressource de cluster = 0x01100
        • Instance nommée
          « SQL Server (INSTANCE1) » /priv SqlDumperDumpFlags la ressource de cluster = 0x01100
      • Tous les fichiers minidump de thread
        • Instance par défaut
          « SQL Server » /priv SqlDumperDumpFlags la ressource de cluster = 0 x 0120
        • Instance nommée
          « SQL Server (INSTANCE1) » /priv SqlDumperDumpFlags la ressource de cluster = 0 x 0120
      • Filtrer tous les fichiers de vidage thread
        • Instance par défaut
          « SQL Server » /priv SqlDumperDumpFlags la ressource de cluster = x 8100
        • Instance nommée
          ressource de cluster SQL Server »(INSTANCE1)"/priv SqlDumperDumpFlags = x 8100
    • LeSqlDumperDumpPath propriété
      « SQL Server » /priv SqlDumperDumpPath la ressource de cluster = DirectoryPath
      Remarque DirectoryPath est un espace réservé pour le répertoire dans lequel le fichier de vidage doit être généré, et il doit être spécifié entre guillemets ("").
    • Le SqlDumperDumpTimeOut propriété
      « SQL Server » /priv SqlDumperDumpTimeOut la ressource de cluster = Délai d'attente
      Remarque Délai d'attente est un espace réservé pour le délai d'attente en millisecondes (ms).

      Le temps qui prend de l'utilitaire pour générer un fichier de vidage d'un processus SQL Server dépend de la configuration de l'ordinateur. Pour un ordinateur disposant de beaucoup de mémoire, le temps peut être significatif. Pour obtenir une estimation du temps utilisé par le processus, utilisez l'utilitaire Sqldumper.exe pour générer manuellement un fichier de vidage. Les valeurs valides pour le SqlDumperDumpTimeOut propriété sont à partir de 10000 ms Pour MAXDWORD. MAXDWORD représente la valeur la plus élevée de la plage du type de données DWORD (4294967295).
Pour vérifier que les paramètres ont été activés, vous pouvez exécuter la commande suivante :
cluster resource « SQL Server » /priv "

Pour supprimer les propriétés d'utilitaire Sqldumper.exe pour le basculement de cluster, procédez comme suit :
  1. Cliquez sur Démarrer, cliquez sur Exécuter, type cmd, puis cliquez sur OK.
  2. Pour une propriété spécifique, tapez la commande correspondante à l'invite de commande et appuyez sur ENTRÉE :
    • Le SqlDumperDumpFlags propriété
      • Instance par défaut
        cluster ressource « SQL Server » /priv:SqlDumperDumpFlags /usedefault
      • Instance nommée
        cluster ressource « SQL Server (INSTANCE1) » /priv:SqlDumperDumpFlags /usedefault
    • Le SqlDumperDumpPath propriété
      • Instance par défaut
        cluster ressource « SQL Server » /priv:SqlDumperDumpPath /usedefault
      • Instance nommée
        ressource de cluster SQL Server »(INSTANCE1)« /priv:SqlDumperDumpPath /usedefault
    • Le SqlDumperDumpTimeOutpropriété
      • Instance par défaut
        cluster ressource « SQL Server » /priv:SqlDumperDumpTimeOut /usedefault
      • Instance nommée
        ressource de cluster SQL Server »(INSTANCE1)« /priv:SqlDumperDumpTimeOut /usedefault

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Express Edition
Mots-clés : 
kbsql2005tool kbexpertiseadvanced kbhowto kbinfo kbmt KB917825 KbMtfr
Traduction automatiqueTraduction 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: 917825  (http://support.microsoft.com/kb/917825/en-us/ )
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.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store