Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile avviare il debugger Transact-SQL dopo aver aperto una finestra dell'editor di query del motore di database. È quindi possibile eseguire il codice Transact-SQL in modalità di debug fino a quando non si arresta il debugger. È possibile impostare le opzioni per personalizzare la modalità di esecuzione del debugger.
Avvio e arresto del debugger
I requisiti per avviare il debugger di Transact-SQL sono i seguenti:
Se l'editor di query del motore di database è connesso a un'istanza del motore di database in un altro computer, è necessario aver configurato il debugger per il debug remoto. Per altre informazioni, vedere Configurare il debugger Transact-SQL.
SQL Server Management Studio deve essere in esecuzione sotto un account Windows che sia membro del ruolo fisso del server sysadmin.
La finestra dell'editor di query del motore di database deve essere connessa tramite un account di accesso con autenticazione di Windows o con autenticazione di SQL Server che sia membro del ruolo predefinito del server sysadmin.
La finestra Dell'editor di query del motore di database deve essere connessa a un'istanza del motore di database da SQL Server 2005 Service Pack 2 (SP2) o versione successiva. Non è possibile eseguire il debugger quando la finestra dell'editor di query è connessa a un'istanza in modalità utente singolo.
È consigliabile eseguire il debug del codice Transact-SQL in un server di test, non in un server di produzione, per i motivi seguenti:
Il debug è un'operazione con privilegi elevati. Pertanto, solo i membri del ruolo predefinito del server sysadmin possono eseguire il debug in SQL Server.
Le sessioni di debug vengono spesso eseguite per lunghi periodi di tempo mentre si analizzano le operazioni di diverse istruzioni Transact-SQL. I blocchi, ad esempio i blocchi di aggiornamento, acquisiti dalla sessione potrebbero essere mantenuti per periodi prolungati, fino alla fine della sessione o al commit o al rollback della transazione.
L'avvio del debugger Transact-SQL inserisce la finestra dell'editor di query in modalità di debug. Quando la finestra dell'editor di query entra in modalità debug, il debugger si ferma alla prima riga di codice. È quindi possibile eseguire il codice, sospendere l'esecuzione in istruzioni Transact-SQL specifiche e usare le finestre del debugger per visualizzare lo stato di esecuzione corrente. È possibile avviare il debugger facendo clic sul pulsante Debug sulla barra degli strumenti Query oppure scegliendo Avvia debug dal menu Debug .
La finestra Dell'editor di query rimane in modalità di debug fino al termine dell'ultima istruzione nella finestra dell'editor di query o all'arresto della modalità di debug. È possibile arrestare l'esecuzione della modalità di debug e dell'istruzione usando uno dei metodi seguenti:
Scegliere Arresta debug dal menu Debug.
Sulla barra degli strumenti Debug fare clic sul pulsante Arresta debug .
Fare clic su Annulla esecuzione query nel menu Query.
Sulla barra degli strumenti Query, fare clic sul pulsante Annulla l'esecuzione della query.
È anche possibile arrestare la modalità di debug e consentire il completamento dell'esecuzione delle istruzioni Transact-SQL rimanenti facendo clic su Scollega tutto dal menu Debug .
Controllo del debugger
È possibile controllare il funzionamento del debugger Transact-SQL usando i comandi di menu, le barre degli strumenti e i tasti di scelta rapida seguenti:
Menu Debug e barra degli strumenti Debug . Sia il menu Debug che la barra degli strumenti Debug sono inattivi finché il focus non è posizionato in una finestra dell'Editor di query aperta. Rimangono attivi fino alla chiusura del progetto corrente.
Tasti di scelta rapida del debugger.
Menu di scelta rapida dell'editor di query. 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. Quando la finestra Dell'editor di query è in modalità di debug, nel menu di scelta rapida vengono visualizzati i comandi del debugger che si applicano alla riga o alla stringa selezionata.
Voci di menu e comandi contestuali nelle finestre aperte dal debugger, come le finestre Osserva o Punti di interruzione.
Nella tabella seguente vengono illustrati i comandi di menu del debugger, i pulsanti della barra degli strumenti e i tasti di scelta rapida.
| Comando di menu Debug | Comando di scelta rapida dell'editor | Pulsante della barra degli strumenti | Scelta rapida da tastiera | Azione |
|---|---|---|---|---|
| Punti di interruzione/Windows | Non disponibile | punti di interruzione | CTRL+ALT+B | Visualizzare la finestra Punti di interruzione in cui è possibile visualizzare e gestire i punti di interruzione. |
| Windows/Watch/Watch1 | Non disponibile | Punti di interruzione/Monitoraggio/Monitoraggio1 | CTRL+ALT+W, 1 | Mostra la finestra Watch1. |
| Windows/Watch/Watch2 | Non disponibile | Punti di interruzione/Watch/Watch2 | CTRL+ALT+W, 2 | Visualizza la finestra Watch2. |
| Windows/Watch/Watch3 | Non disponibile | Punti di interruzione/Watch/Watch3 | CTRL+ALT+W, 3 | Visualizzare la finestra Watch3. |
| Windows/Watch/Watch4 | Non disponibile | Punti di interruzione/Osservazione/Osservazione4 | CTRL+ALT+W, 4 | Visualizzare la finestra Watch4. |
| Windows/Locals | Non disponibile | Punti di interruzione/Locali | CTRL+ALT+V, L | Visualizzare la finestra Variabili locali . |
| Stack di chiamate/Windows | Non disponibile | Punti di interruzione/Stack di chiamate | CTRL+ALT+C | Visualizzare la finestra Stack di chiamate . |
| Windows/Threads | Non disponibile | Punti di interruzione/Thread | CTRL+ALT+H | Visualizza la finestra Threads. |
| Continua | Non disponibile | Continua | ALT+F5 | Vai al prossimo punto di interruzione. Continua non è attivo fino a quando non ci si concentra su una finestra dell'editor di query in modalità di debug. |
| Avviare il debug | Non disponibile | Avviare il debug | ALT+F5 | Inserire una finestra dell'editor di query in modalità debug ed eseguire fino al primo punto di interruzione. Se ci si concentra su una finestra dell'editor di query in modalità di debug, avvia debug viene sostituita da Continua. |
| interrompi tutto | Non disponibile | interrompi tutto | CTRL+ALT+INTERRUZIONE | Questa funzionalità non viene utilizzata dal debugger Transact-SQL. |
| Arrestare il Debug | Non disponibile | Arrestare il Debug | MAIUSC+F5 | Disconnessare una finestra dell'editor di query dalla modalità di debug e restituirla alla modalità normale. |
| Stacca tutto | Non disponibile | Non disponibile | Non disponibile | Arresta la modalità di debug, ma esegue le istruzioni rimanenti nella finestra Dell'editor di query. |
| Entra in | Non disponibile | Entra in | F11 | Eseguire l'istruzione successiva e aprire anche una nuova finestra dell'editor di query in modalità di debug se l'istruzione successiva esegue una stored procedure, un trigger o una funzione. |
| Passa sopra | Non disponibile | Passa sopra | F10 | Uguale a Passa all'interno, tranne che non sono eseguiti funzioni, procedure memorizzate o di trigger. |
| Fai un passo fuori | Non disponibile | Fai un passo fuori | SHIFT+F11 | Eseguire il codice rimanente in un trigger, una funzione o una stored procedure senza fermarsi a nessun punto di interruzione. La modalità di debug regolare riprende quando il controllo viene restituito al codice che ha chiamato il modulo. |
| Non disponibile | Esegui fino al Cursore | Non disponibile | CTRL+F10 | Eseguire tutto il codice dall'ultima posizione di arresto alla posizione corrente del cursore senza arrestarsi in corrispondenza di punti di interruzione. |
| QuickWatch | Controllo rapido | Non disponibile | CTRL+ALT+Q | Visualizzare la finestra Controllo immediato . |
| Attiva/disattiva punto di interruzione | Punto di interruzione/Inserisci punto di interruzione | Non disponibile | F9 | Posizionare un punto di interruzione sulla istruzione Transact-SQL corrente o selezionata. |
| Non disponibile | Punto di interruzione/Elimina punto di interruzione | Non disponibile | Non disponibile | Eliminare il punto di interruzione dalla riga selezionata. |
| Non disponibile | Punto di interruzione/Disabilita punto di interruzione | Non disponibile | Non disponibile | Disabilitare il punto di interruzione nella riga selezionata. Il punto di interruzione rimane sulla riga di codice, ma non interromperà l'esecuzione fino a quando non viene riabilitabile. |
| Non disponibile | Punto di interruzione/Abilita punto di interruzione | Non disponibile | Non disponibile | Abilitare il punto di interruzione nella riga selezionata. |
| Elimina tutti i punti di interruzione | Non disponibile | Non disponibile | CTRL+MAIUSC+F9 | Eliminare tutti i punti di interruzione. |
| Disabilita tutti i punti di interruzione | Non disponibile | Non disponibile | Non disponibile | Disabilitare tutti i punti di interruzione. |
| Non disponibile | Aggiungi Watch | Non disponibile | Non disponibile | Aggiungere l'espressione selezionata alla finestra Watch. |
Vedere anche
Transact-SQL debugger
Passa attraverso il codice Transact-SQL
Transact-SQL Informazioni sul Debugger
Editor di Query del Motore di Database (SQL Server Management Studio)