DetailPage-MSS-KB

Microsoft Knowledge Base

Identificativo articolo: 917825 - Ultima modifica: lunedì 4 febbraio 2013 - Revisione: 3.0

 

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 (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

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 articoliTraduzione 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  (http://support.microsoft.com/kb/917825/en-us/ )
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.
Condividi
Altre opzioni per il supporto
Forum del supporto di Microsoft Community
Contattaci direttamente
Ricerca di un partner certificato Microsoft
Microsoft Store