Come utilizzare l'utilitÓ Sqldumper.exe per generare un file di dump in SQL Server

Traduzione articoli Traduzione articoli
Identificativo articolo: 917825 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

L'utilitÓ di Sqldumper.exe Ŕ incluso in Microsoft SQL Server 2005, Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2 e Microsoft SQL Server 2012. In questo articolo viene descritto come utilizzare l'utilitÓ Sqldumper.exe per generare un file di dump per la segnalazione Watson o per attivitÓ di debug.

Informazioni

Per generare un file di dump su richiesta per qualsiasi applicazione di Microsoft Windows, Ŕ possibile utilizzare l'utilitÓ Sqldumper.exe. Ad esempio, Ŕ possibile generare un file dump per il debug di un problema di applicazione quando un computer che esegue SQL Server 2005, Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2 o Microsoft SQL Server 2012 non risponde alle richieste dell'utente. Un file di immagine pu˛ essere un file minidump, un file di dump completo o un file di immagine filtrata.

Tuttavia, Ŕ possibile utilizzare l'utilitÓ Sqldumper.exe per il debug di interesse generale. Per ulteriori informazioni sul debug di interesse generale, visitare il seguente sito Web Microsoft:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
Il processo di SQL Server chiama l'utilitÓ Sqldumper.exe internamente per generare un file dump quando il processo di verifica di tutte le eccezioni. SQL Server passa dei flag per l'utilitÓ Sqldumper.exe. Per modificare i flag di SQL Server passa all'utilitÓ nel contesto di un'eccezione o nel contesto di un'asserzione, Ŕ possibile utilizzare i flag di traccia. Questi flag di traccia sono compresi nell'intervallo da 2540 a 2559. ╚ possibile utilizzare questi flag di traccia per generare alcuni tipi di file di immagine. Ad esempio:
  • Flag di traccia 2551: Produce un'immagine della memoria filtrata
  • Flag di traccia 2544: Produce un'immagine della memoria completa
  • Flag di traccia 2546: Esegue il dump di tutti i thread di SQL Server nel file di dump
  • Flag di traccia 8026: SQL Server verrÓ cancellato un dumptrigger dopo aver generato una sola volta il dump
Se due o pi¨ flag di traccia sono attive, verrÓ utilizzato il valore dell'opzione che indica il dump della memoria pi¨ grande. Se si utilizzano i flag di traccia 2551 e 2544, SQL Server creerÓ un'immagine della memoria completa.

Come ottenere un identificatore del processo di applicazione Microsoft Windows

Per generare un file di immagine utilizzando l'utilitÓ Sqldumper.exe, Ŕ necessario che l'identificatore di processo dell'applicazione Windows per il quale si desidera generare un file dump. Per ottenere l'identificatore di processo, attenersi alla seguente procedura:
  1. Premere CTRL + ALT + CANC e quindi fare clic su Task Manager.
  2. Nel Task Manager Windows Nella finestra di dialogo, scegliere il Processi scheda.
  3. Nel Visualizzazione menu, fare clic su Selezionare le colonne.
  4. Nel Selezionare le colonne Nella finestra di dialogo, selezionare il PID (Identific. processo) casella di controllo e quindi fare clic su OK.
  5. Si noti l'identificatore di processo dell'applicazione Windows per il quale si desidera generare un file dump. Per l'applicazione di SQL Server, si noti l'identificatore del processo del processo di Sqlservr.exe.
  6. Chiudere Task Manager.
╚ inoltre possibile ottenere l'identificatore di processo dell'applicazione di SQL Server Ŕ in esecuzione nel computer utilizzando il file di registro errori di SQL Server. Ad esempio, parte del file di registro errori di SQL Server Ŕ simile al seguente:

04-2006-18 09:53:03.94 Server di Microsoft SQL Server 2005 - 9.00.1399.06 (Intel x86)
OCT 14 2005 00:33:37
Copyright (c) 1988-2005 Microsoft Corporation
Enterprise Edition in Windows NT 5.2 (Build 3790: Service Pack 1)

04-2006-18 09:53:03.94 Server (c) 2005 Microsoft Corporation.
04-2006-18 09:53:03.94 Server tutti i diritti riservati.
ID del processo Server Server 09:53:03.94 18-04-2006 Ŕ 3716.

Il numero viene visualizzato dopo ID processo server Ŕ l'identificatore di processo per il processo di Sqlservr.exe.

Come eseguire l'utilitÓ di Sqldumper.exe

Eseguire l'utilitÓ Sqldumper.exe nel contesto della cartella in cui SQL Server installata originariamente l'utilitÓ. Per impostazione predefinita, il percorso di installazione dell'utilitÓ di Sqldumper.exe Ŕ la seguente:
SQLServerInstallDrive: \Programmi\Microsoft SQL Server\90\Shared\SQLDumper.exe
Nota.SQLServerInstallDrive Ŕ un segnaposto per l'unitÓ in cui Ŕ installato SQL Server 2005.

Per generare un file di immagine utilizzando l'utilitÓ Sqldumper.exe, attenersi alla seguente procedura:
  1. Aprire la seguente cartella:
    SQLServerInstallDrive: \Programmi\Microsoft SQL Servernumero\Shared
    Nota. In questo percorso della cartella numero Ŕ un segnaposto per uno dei seguenti:
    • Il nome della cartella Ŕ 110 per SQL Server 2012.
    • Il nome della cartella Ŕ di 100 per SQL Server 2008.
    • Il nome della cartella 90 per SQL Server 2005.

  2. Assicurarsi che il file dbghelp. dll Ŕ incluso in questa cartella.
  3. Fare clic Inizio, fare clic su Eseguire, tipo cmd, quindi fare clic su OK.
  4. Al prompt dei comandi digitare il comando seguente e premere INVIO:
    CD SQLServerInstallDrive: \Programmi\Microsoft SQL Servernumero\Shared
    Nota. In questo percorso di cartella, il numero Ŕ un segnaposto per uno dei seguenti:
    • Il nome della cartella Ŕ 110 per SQL Server 2012.
    • Il nome della cartella Ŕ di 100 per SQL Server 2008.
    • Il nome della cartella 90 per SQL Server 2005.
  5. Per generare un tipo specifico di file di immagine, digitare il comando corrispondente al prompt dei comandi e premere INVIO:
    • File di dump completo
      Sqldumper.exe ProcessID 0 0x01100
    • File di minidump
      Sqldumper.exe ProcessID 0 0x0120
    • File di minidump include indirettamente fatto riferimento alla memoria
      Sqldumper.exe ProcessID 0 0x0120:40
    • File di immagine filtrata
      Sqldumper.exe ProcessID 0 0x8100
    Nota.ProcessID Ŕ un segnaposto per l'identificatore di processo dell'applicazione Windows per il quale si desidera generare un file dump.
Se l'utilitÓ di Sqldumper.exe viene eseguito correttamente, l'utilitÓ genera un file di immagine nella cartella in cui Ŕ installata l'utilitÓ.

Il file dump che genera l'utilitÓ di Sqldumper.exe ha un modello di nome file analogo al seguente:
SQLDmprxxxx.mdmp
In questo modello, xxxx un numero crescente determinato si basa su altri file che hanno un nome di file simili nella stessa cartella. Se i file nella cartella con i nomi di file nel modello specificato esiste giÓ, si potrebbe essere necessario confrontare la data e l'ora in cui il file Ŕ stato creato per identificare il file desiderato.

Ulteriori informazioni e considerazioni

Quando l'utilitÓ Sqldumper.exe genera un file dump per un'applicazione Windows, il file di dettagli potrebbe essere pi¨ grande della memoria dell'applicazione Windows Ŕ attualmente in uso. Assicurarsi che l'unitÓ in cui l'utilitÓ Sqldumper.exe scrive il file di dettagli sufficiente spazio su disco disponibile.

╚ possibile specificare la directory in cui si desidera che l'utilitÓ di Sqldumper.exe per scrivere il file dump. La directory deve esistere giÓ prima di eseguire l'utilitÓ Sqldumper.exe. In caso contrario, l'utilitÓ Sqldumper.exe avrÓ esito negativo. Non utilizzare un percorso UNC come percorso del file di immagine. Di seguito Ŕ un esempio di specificare il percorso del file di dump del file di minidump:
  1. Fare clic Inizio, fare clic su Eseguire, tipo cmd, quindi fare clic su OK.
  2. Al prompt dei comandi digitare il comando seguente e premere INVIO:
    CD SQLServerInstallDrive: \Programmi\Microsoft SQL Servernumero\Shared
    Nota. In questo percorso della cartella numero Ŕ un segnaposto per uno dei seguenti:
    • Il nome della cartella Ŕ 110 per SQL Server 2012.
    • Il nome della cartella Ŕ di 100 per SQL Server 2008.
    • Il nome della cartella 90 per SQL Server 2005.
  3. Digitare il seguente comando al prompt dei comandi e premere INVIO:
    Sqldumper.exe ProcessID 0 0x0120 0 MdumpPath
    Nota.MdumpPathŔ un segnaposto per la directory in cui si desidera che l'utilitÓ di Sqldumper.exe per scrivere il file dump. Per impostazione predefinita, il file viene scritto nella cartella corrente.
Se si specifica un file di dump completo o un file di dump filtrato da generare, l'utilitÓ di Sqldumper.exe potrebbe richiedere alcuni minuti per generare il file dump. Il tempo dipende dalle seguenti variabili:
  • La quantitÓ di memoria che sta utilizzando l'utilitÓ Sqldumper.exe
  • La velocitÓ dell'unitÓ in cui l'utilitÓ sta scrivendo il file di dump
Durante questo periodo, l'utilitÓ di Sqldumper.exe non elabora i comandi. Si noti che il server non risponde. Inoltre, pu˛ verificarsi un failover del cluster.

Per eseguire l'utilitÓ Sqldumper.exe, Ŕ necessario accedere a Windows utilizzando uno dei seguenti metodi:
  • Utilizzare un account che sia membro del gruppo administrators sul computer.
  • Utilizzare lo stesso account utente con cui viene eseguito il servizio SQL Server.
Per l'utilitÓ di Sqldumper.exe abbia esito positivo tramite Desktop remoto o servizi Terminal, Ŕ necessario avviare Desktop remoto o servizi Terminal in modalitÓ console. Ad esempio, per avviare Desktop remoto in modalitÓ console, fare clic su Inizio, fare clic su Eseguire, tipo mstsc /console, quindi fare clic su OK. Tenere presente che se il server di destinazione esegue Windows 2000, l'opzione /console automaticamente viene ignorata. ╚ possibile connettersi al server tramite Desktop remoto. Ma si prevede di non utilizzare la sessione della console.
Se si nota che non Ŕ stato generato alcun file di immagine nella cartella corrente dopo aver eseguito l'utilitÓ Sqldumper.exe, rivedere le informazioni che ha generato l'utilitÓ a riga di comando per tentare di determinare le possibili cause dell'errore. Queste informazioni viene inoltre registrate nel file SQLDUMPER_ERRORLOG nella directory corrente. Di seguito sono due possibili messaggi di errore e le relative cause:
Messaggio 1
OpenProcess non riuscito 0x57: parametro non corretto

Non valido passato ID di processo per l'utilitÓ Sqldumper.exe.
Messaggio 2
Valore non valido per l'id del thread - <invalid parameter="">parametro errore </invalid>

╚ stato passato un parametro non valido per l'utilitÓ Sqldumper.exe.

Se viene generato un messaggio di errore analogo a uno dei seguenti, Ŕ possibile ignorare questo messaggio:

Tipo sconosciuto di callback durante minidump 6
Tipo sconosciuto di callback durante minidump 7

Cluster di failover e l'utility Sqldumper.exe

In scenari di failover del cluster, la risorsa di SQL Server DLL ora possibile ottenere un file di dump prima che si verifichi il failover. Quando la DLL di risorse di SQL Server determina che una risorsa di SQL Server non Ŕ riuscita, la risorsa di SQL Server DLL utilizza l'utilitÓ Sqldumper.exe per ottenere un file di dump del processo di SQL Server. Per assicurarsi che l'utilitÓ di Sqldumper.exe genera correttamente il file di immagine, Ŕ necessario impostare le seguenti tre proprietÓ come prerequisiti:
  • SqlDumperDumpTimeOut
    Un timeout specificato dall'utente. La risorsa che dll attende che il file dump da completare prima della risorsa DLL interrompe il servizio SQL Server.
  • SqlDumperDumpPath
    La posizione in cui l'utilitÓ di Sqldumper.exe genera il file dump.
  • SqlDumperDumpFlags
    Flag che utilizza l'utilitÓ Sqldumper.exe.
Se una qualsiasi delle proprietÓ non Ŕ impostata, l'utilitÓ di Sqldumper.exe non pu˛ generare il file di dump. Un messaggio di avviso verrÓ registrato nel registro eventi e nel registro cluster ogni volta che la risorsa viene portata in linea.

Per impostare le proprietÓ di utilitÓ Sqldumper.exe per il failover del cluster, attenersi alla seguente procedura:
  1. Fare clic Inizio, fare clic su Eseguire, tipo cmd, quindi fare clic su OK.
  2. Per ogni proprietÓ, digitare il comando corrispondente al prompt dei comandi e premere INVIO:
    • Il SqlDumperDumpFlags proprietÓ
      Per impostare il SqlDumperDumpFlags proprietÓ per un tipo specifico di file di immagine, digitare il comando corrispondente al prompt dei comandi e premere INVIO:
      • File di dump completo di tutti i thread
        • Istanza predefinita
          cluster resource "SQL Server" /priv SqlDumperDumpFlags = 0x01100
        • Istanza denominata
          cluster resource "SQL Server (Istanza1)" /priv SqlDumperDumpFlags = 0x01100
      • Tutti i file di minidump di thread
        • Istanza predefinita
          cluster resource "SQL Server" /priv SqlDumperDumpFlags = 0x0120
        • Istanza denominata
          cluster resource "SQL Server (Istanza1)" /priv SqlDumperDumpFlags = 0x0120
      • Filtrare tutti i file di dump di thread
        • Istanza predefinita
          cluster resource "SQL Server" /priv SqlDumperDumpFlags = 0x8100
        • Istanza denominata
          risorsa cluster di SQL Server"(ISTANZA1)"/priv SqlDumperDumpFlags = 0x8100
    • IlSqlDumperDumpPath proprietÓ
      cluster resource "SQL Server" /priv SqlDumperDumpPath = DirectoryPath
      Nota. DirectoryPath Ŕ un segnaposto per la directory in cui verrÓ generato il file di dump e deve essere specificato tra virgolette ("").
    • Il SqlDumperDumpTimeOut proprietÓ
      cluster resource "SQL Server" /priv SqlDumperDumpTimeOut = Timeout
      Nota. Timeout Ŕ un segnaposto per il timeout in millisecondi (ms).

      L'ora in cui l'utilitÓ consente di generare un file di dump di un processo di SQL Server dipende dalla configurazione del computer. Per un computer con grandi quantitÓ di memoria, il tempo potrebbe essere significativo. Per ottenere una stima del tempo che il processo, utilizzare l'utilitÓ di Sqldumper.exe per generare manualmente un file dump. I valori validi per il SqlDumperDumpTimeOut la proprietÓ Ŕ da 10000 ms per MAXDWORD. MAXDWORD rappresenta il valore massimo nell'intervallo del tipo di dati DWORD (4294967295).
Per verificare che siano state attivate le impostazioni, Ŕ possibile eseguire il comando riportato di seguito:
cluster resource "SQL Server" /priv "

Per rimuovere le proprietÓ di utilitÓ Sqldumper.exe di failover del cluster, attenersi alla seguente procedura:
  1. Fare clic Inizio, fare clic su Eseguire, tipo cmd, quindi fare clic su OK.
  2. Per una proprietÓ specifica, digitare il comando corrispondente al prompt dei comandi e premere INVIO:
    • Il SqlDumperDumpFlags proprietÓ
      • Istanza predefinita
        cluster resource "SQL Server" /priv:SqlDumperDumpFlags /usedefault
      • Istanza denominata
        cluster resource "SQL Server (Istanza1)" /priv:SqlDumperDumpFlags /usedefault
    • Il SqlDumperDumpPath proprietÓ
      • Istanza predefinita
        cluster resource "SQL Server" /priv:SqlDumperDumpPath /usedefault
      • Istanza denominata
        risorsa cluster di SQL Server"(ISTANZA1)"/priv:SqlDumperDumpPath /usedefault
    • Il SqlDumperDumpTimeOutproprietÓ
      • Istanza predefinita
        cluster resource "SQL Server" /priv:SqlDumperDumpTimeOut /usedefault
      • Istanza denominata
        risorsa cluster di SQL Server"(ISTANZA1)"/priv:SqlDumperDumpTimeOut /usedefault

ProprietÓ

Identificativo articolo: 917825 - Ultima modifica: lunedý 4 febbraio 2013 - Revisione: 3.0
Le informazioni in questo articolo si applicano a:
  • 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
Chiavi:á
kbsql2005tool kbexpertiseadvanced kbhowto kbinfo kbmt KB917825 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 917825
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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