Esecuzione del debugger Transact-SQLRun the Transact-SQL Debugger

È possibile avviare il debugger Transact-SQLTransact-SQL dopo avere aperto una finestra dell'editor di query del Motore di databaseDatabase Engine .You can start the Transact-SQLTransact-SQL debugger after you open a Motore di databaseDatabase Engine Query Editor window. È quindi possibile eseguire il codice Transact-SQLTransact-SQL in modalità di debug fino a quando non si desidera arrestare il debugger.Then, you can run your Transact-SQLTransact-SQL code in debug mode until you stop the debugger. È possibile impostare le opzioni desiderate per personalizzare la modalità di esecuzione del debugger.You can set options to customize how the debugger runs.

Avvio e arresto del debuggerStarting and Stopping the Debugger

Di seguito vengono indicati i requisiti per avviare il debugger Transact-SQLTransact-SQL :The requirements to start the Transact-SQLTransact-SQL debugger are as follows:

  • Se l'editor di query del Motore di databaseDatabase Engine è connesso a un'istanza del Motore di databaseDatabase Engine in un altro computer, è necessario aver configurato il debugger per il debug remoto.If your Motore di databaseDatabase Engine Query Editor is connected to an instance of the Motore di databaseDatabase Engine on another computer, you must have configured the debugger for remote debugging. Per altre informazioni, vedere Configurazione del debugger Transact-SQL.For more information, see Configure firewall rules before running the TSQL Debugger.

  • SQL Server Management StudioSQL Server Management Studio deve essere eseguito con un account di Windows membro del ruolo predefinito del server sysadmin. must be running under a Windows account that is a member of the sysadmin fixed server roll.

  • La finestra dell'editor di query del Motore di databaseDatabase Engine deve essere connessa tramite un account di accesso con autenticazione di Windows o con autenticazione di SQL ServerSQL Server che sia membro del ruolo predefinito del server sysadmin.The Motore di databaseDatabase Engine Query Editor window must be connected by using either a Windows Authentication or SQL ServerSQL Server Authentication login that is a member of the sysadmin fixed server role.

  • La finestra dell'editor di query del Motore di databaseDatabase Engine deve essere connessa a un'istanza del Motore di databaseDatabase Engine da SQL Server 2005SQL Server 2005 Service Pack 2 (SP2) o versione successiva.The Motore di databaseDatabase Engine Query Editor window must be connected to an instance of the Motore di databaseDatabase Engine from SQL Server 2005SQL Server 2005 Service Pack 2 (SP2) or later. Non è possibile eseguire il debugger quando la finestra dell'editor di query è connessa a un'istanza che è in modalità utente singolo.You cannot run the debugger when the Query Editor window is connected to an instance that is in single-user mode.

    Si consiglia di eseguire il debug del codice Transact-SQLTransact-SQL su un server di prova, anziché un server di produzione, per le ragioni che seguono:We recommend that Transact-SQLTransact-SQL code be debugged on a test server, not a production server, for the following reasons:

  • Il debug è un'operazione che richiede privilegi elevati.Debugging is a highly privileged operation. Solo i membri del ruolo predefinito del server sysadmin possono pertanto eseguire il debug in SQL ServerSQL Server.Therefore, only members of the sysadmin fixed server role are allowed to debug in SQL ServerSQL Server.

  • Le sessioni di debug spesso durano a lungo perché comportano il controllo dell'esecuzione di numerose istruzioni Transact-SQLTransact-SQL .Debugging sessions often run for long periods of time while you investigate the operations of several Transact-SQLTransact-SQL statements. I blocchi, ad esempio i blocchi di aggiornamento, che vengono acquisiti dalla sessione potrebbero essere mantenuti per lunghi periodi di tempo, fino al termine della sessione o al commit o rollback della transazione.Locks, such as update locks, that are acquired by the session might be held for extended periods, until the session is ended or the transaction committed or rolled back.

    All'avvio del debugger Transact-SQLTransact-SQL , la finestra dell'editor di query entra nella modalità di debugStarting the Transact-SQLTransact-SQL debugger puts the Query Editor window into debug mode. e l'esecuzione del codice viene sospesa dal debugger in corrispondenza della prima riga.When the Query Editor window enters debug mode, the debugger pauses at the first line of code. A questo punto, è possibile procedere istruzione per istruzione, sospendere l'esecuzione su istruzioni Transact-SQLTransact-SQL specifiche e utilizzare le finestre del debugger per visualizzare lo stato corrente dell'esecuzione:You can then step through the code, pause the execution on specific Transact-SQLTransact-SQL statements, and use the debugger windows to view the current execution state. È possibile avviare il debugger facendo clic sul pulsante Debug nella barra degli strumenti Query oppure scegliendo Avvia debug dal menu Debug .You can start the debugger by either clicking the Debug button on the Query toolbar or by clicking Start Debugging on the Debug menu.

    La finestra dell'editor di query rimane in modalità di debug sino al termine dell'ultima istruzione nella finestra dell'editor di query oppure fino a quando non viene arrestata la modalità di debug.The Query Editor window stays in debug mode until either the last statement in the Query Editor window finishes or you stop debug mode. È possibile arrestare l'esecuzione della modalità di debug e di un'istruzione utilizzando uno dei metodi seguenti:You can stop debug mode and statement execution by using any one of the following methods:

  • Scegliere Arresta debug dal menu Debug.On the Debug menu, click Stop Debugging.

  • Nella barra degli strumenti Debug fare clic sul pulsante Arresta debug .On the Debug toolbar, click the Stop Debugging button.

  • Scegliere Annulla esecuzione query dal menu Query.On the Query menu, click Cancel Executing Query.

  • Nella barra degli strumenti Query fare clic sul pulsante Annulla esecuzione query .On the Query toolbar, click the Cancel Executing Query button.

    È inoltre possibile arrestare la modalità di debug e consentire il completamento delle restanti istruzioni Transact-SQLTransact-SQL scegliendo Disconnetti tutto dal menu Debug .You can also stop debug mode and allow for the remaining Transact-SQLTransact-SQL statements to finish executing by clicking Detach All on the Debug menu.

Controllo del debuggerControlling the Debugger

È possibile controllare l'esecuzione del debugger Transact-SQLTransact-SQL utilizzando i comandi, le barre degli strumenti e le scelte rapide seguenti:You can control how the Transact-SQLTransact-SQL debugger operates by using the following menu commands, toolbars, and shortcuts:

  • Il menu Debug e la barra degli strumenti Debug .The Debug menu and the Debug toolbar. Sia il menu Debug che la barra degli strumenti Debug sono inattivi fino a quando non viene attivata una finestra dell'editor di query aperta.Both the Debug menu and Debug toolbar are inactive until the focus is placed in an open Query Editor window. Rimangono attivi fino alla chiusura del progetto corrente.They remain active until the current project is closed.

  • Le scelte rapide da tastiera per il debugger.The debugger keyboard shortcuts.

  • Il menu di scelta rapida dell'editor di query.The Query Editor shortcut menu. Il menu di scelta rapida viene visualizzato quando si fa clic con il pulsante destro del mouse su una riga in una finestra dell'editor di query.The shortcut menu is displayed when you right-click a line in a Query Editor window. Quando la finestra dell'editor di query è in modalità di debug, nel menu di scelta rapida vengono visualizzati i comandi del debugger applicabili alla riga o stringa selezionata.When the Query Editor window is in debug mode, the shortcut menu displays debugger commands that apply to the selected line or string.

  • Le voci di menu e i comandi contestuali nelle finestre aperte dal debugger, ad esempio le finestre Espressione di controllo o la finestra Punti di interruzione .Menu items and context commands in the windows that are opened by the debugger, such as the Watch or Breakpoints windows.

    Nella tabella seguente sono illustrati i comandi di menu del debugger, i pulsanti della barra degli strumenti e i tasti di scelta rapida.The following table shows the debugger menu commands, toolbar buttons, and keyboard shortcuts.

Comando del menu DebugDebug menu command Comando di scelta rapida dell'editorEditor shortcut command Pulsante della barra degli strumentiToolbar button Scelta rapida da tastieraKeyboard shortcut AzioneAction
Finestra, Punti di interruzioneWindows/Breakpoints Non disponibileNot available Punti di interruzioneBreakpoints CTRL+ALT+BCTRL+ALT+B Consente di visualizzare la finestra Punti di interruzione nella quale è possibile visualizzare e gestire i punti di interruzione.Display the Breakpoints window in which you can view and manage breakpoints.
Finestra, Espressione di controllo, Espressione di controllo1Windows/Watch/Watch1 Non disponibileNot available Punti di interruzione, Espressione di controllo, Espressione di controllo1Breakpoints/Watch/Watch1 CTRL+ALT+W, 1CTRL+ALT+W, 1 Consente di visualizzare la finestra Espressione di controllo1 .Display the Watch1 window.
Finestra, Espressione di controllo, Espressione di controllo2Windows/Watch/Watch2 Non disponibileNot available Punti di interruzione, Espressione di controllo, Espressione di controllo2Breakpoints/Watch/Watch2 CTRL+ALT+W, 2CTRL+ALT+W, 2 Consente di visualizzare la finestra Espressione di controllo2 .Display the Watch2 window.
Finestra, Espressione di controllo, Espressione di controllo3Windows/Watch/Watch3 Non disponibileNot available Punti di interruzione, Espressione di controllo, Espressione di controllo3Breakpoints/Watch/Watch3 CTRL+ALT+W, 3CTRL+ALT+W, 3 Visualizzare la finestra Espressione di controllo3 .Display the Watch3 window.
Finestra, Espressione di controllo, Espressione di controllo4Windows/Watch/Watch4 Non disponibileNot available Punti di interruzione, Espressione di controllo, Espressione di controllo4Breakpoints/Watch/Watch4 CTRL+ALT+W, 4CTRL+ALT+W, 4 Consente di visualizzare la finestra Espressione di controllo4 .Display the Watch4 window.
Finestra, Variabili localiWindows/Locals Non disponibileNot available Punti di interruzione, Variabili localiBreakpoints/Locals CTRL+ALT+V, LCTRL+ALT+V, L Consente di visualizzare la finestra Variabili locali .Display the Locals window.
Finestra, Stack di chiamateWindows/Call Stack Non disponibileNot available Punti di interruzione, Stack di chiamateBreakpoints/Call Stack CTRL+ALT+CCTRL+ALT+C Consente di visualizzare la finestra Stack di chiamate .Display the Call Stack window.
Finestra, ThreadWindows/Threads Non disponibileNot available Punti di interruzione, ThreadBreakpoints/Threads CTRL+ALT+HCTRL+ALT+H Consente di visualizzare la finestra Thread .Display the Threads window.
ContinueContinue Non disponibileNot available ContinueContinue ALT+F5ALT+F5 Eseguire il codice fino al successivo punto di interruzione.Run to the next breakpoint. Continua non è attivo fintanto che una finestra dell'editor di query in modalità di debug non ha lo stato attivo.Continue is not active until you are focused on a Query Editor window that is in debug mode.
Avvia debugStart Debugging Non disponibileNot available Avvia debugStart Debugging ALT+F5ALT+F5 Consente di attivare la modalità di debug per una finestra dell'editor di query ed eseguire il codice fino al primo punto di interruzione.Put a Query Editor window into debug mode and run to the first breakpoint. Se lo stato attivo si trova in una finestra dell'editor di query in modalità di debug, Avvia debug viene sostituito da Continua.If you are focused on a Query Editor window that is in debug mode, Start Debugging is replaced by Continue.
Interrompi tuttoBreak All Non disponibileNot available Interrompi tuttoBreak All CTRL+ALT+INTERRCTRL+ALT+BREAK Questa caratteristica non è utilizzata dal debugger Transact-SQLTransact-SQL .This feature not used by the Transact-SQLTransact-SQL debugger.
DebugStop Debugging Non disponibileNot available DebugStop Debugging MAIUSC+F5SHIFT+F5 Consente di portare una finestra dell'editor di query dalla modalità di debug alla modalità normale.Take a Query Editor window out of debug mode and return it to regular mode.
Disconnetti tuttoDetach All Non disponibileNot available Non disponibileNot available Non disponibileNot available Consente di arrestare la modalità di debug, ma di eseguire le istruzioni restanti nella finestra dell'editor di query.Stops debug mode, but executes the remaining statements in the Query Editor window.
Esegui istruzioneStep Into Non disponibileNot available Esegui istruzioneStep Into F11F11 Consente di eseguire l'istruzione successiva e anche di aprire una nuova finestra dell'editor di query nella modalità di debug se l'istruzione successiva esegue una stored procedure, un trigger o una funzione.Run the next statement, and also open a new Query Editor window in debug mode if the next statement runs a stored procedure, trigger, or function.
Esegui istruzione/routineStep Over Non disponibileNot available Esegui istruzione/routineStep Over F10F10 Stessa funzione di Esegui istruzioneeccetto per il fatto che con questo comando non viene eseguito il debug di funzioni, stored procedure o trigger.Same as Step Into, except that no functions, stored procedures, or triggers are debugged.
Esci da istruzione/routineStep Out Non disponibileNot available Esci da istruzione/routineStep Out MAIUSC+F11SHIFT+F11 Consente di eseguire il codice restante in un trigger, una funzione o una stored procedure ignorando i punti di interruzione.Execute the remaining code in a trigger, function, or stored procedure without pausing for any breakpoints. La normale modalità di debug riprende quando il controllo viene restituito al codice che ha chiamato il modulo.Regular debug mode resumes when control is returned to the code that called the module.
Non disponibileNot available Esegui fino al cursoreRun To Cursor Non disponibileNot available CTRL+F10CTRL+F10 Consente di eseguire tutto il codice dall'ultima posizione di arresto fino alla posizione corrente del cursore ignorando i punti di arresto.Execute all code from the last stop location to the current cursor location without stopping at any breakpoints.
Controllo immediatoQuickWatch Controllo immediatoQuickWatch Non disponibileNot available CTRL+ALT+QCTRL+ALT+Q Consente di visualizzare la finestra Controllo immediato .Display the QuickWatch window.
Imposta/Rimuovi punto di interruzioneToggle Breakpoint Punto di interruzione, Inserisci punto di interruzioneBreakpoint/Insert Breakpoint Non disponibileNot available F9F9 Consente di inserire un punto di interruzione in corrispondenza dell'istruzione Transact-SQLTransact-SQL corrente o selezionata.Position a breakpoint on the current or selected Transact-SQLTransact-SQL statement.
Non disponibileNot available Punto di interruzione, Elimina punto di interruzioneBreakpoint/Delete Breakpoint Non disponibileNot available Non disponibileNot available Consente di eliminare il punto di interruzione dalla riga selezionata.Delete the breakpoint from the selected line.
Non disponibileNot available Punto di interruzione, Disabilita punto di interruzioneBreakpoint/Disable Breakpoint Non disponibileNot available Non disponibileNot available Consente di disabilitare il punto di interruzione nella riga selezionata.Disable the breakpoint on the selected line. Il punto di interruzione rimane sulla riga di codice, ma l'esecuzione non verrà arrestata fino a quando non sarà riattivata.The breakpoint remains on the line of code, but will not stop execution until it is reenabled.
Non disponibileNot available Punto di interruzione, Attiva punto di interruzioneBreakpoint/Enable Breakpoint Non disponibileNot available Non disponibileNot available Consente di attivare il punto di interruzione nella riga selezionata.Enable the breakpoint on the selected line.
Elimina tutti i punti di interruzioneDelete All Breakpoints Non disponibileNot available Non disponibileNot available CTRL+MAIUSC+F9CTRL+SHIFT+F9 Consente di eliminare tutti i punti di interruzione.Delete all breakpoints.
Disabilita tutti i punti di interruzioneDisable All Breakpoints Non disponibileNot available Non disponibileNot available Non disponibileNot available Consente di disabilitare tutti i punti di interruzione.Disable all breakpoints.
Non disponibileNot available Aggiungi espressione di controlloAdd Watch Non disponibileNot available Non disponibileNot available Consente di aggiungere l'espressione selezionata alla finestra Espressione di controllo .Add the selected expression to the Watch window.

Vedere ancheSee Also

Debugger Transact-SQL Transact-SQL Debugger
Esecuzione istruzione per istruzione del codice Transact-SQL Step Through Transact-SQL Code
Informazioni del debugger Transact-SQL Transact-SQL Debugger Information
Editor di query del Motore di database (SQL Server Management Studio) Database Engine Query Editor (SQL Server Management Studio)
Statistiche sulle query dinamicheLive Query Statistics