Procedura: abilitare il debug di Transact-SQL
Le informazioni contenute in questo argomento sono valide per:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Per il debug di Transact-SQL con Visual Studio sono richiesti un server database di SQL Server, a partire da SQL Server 2005, e la configurazione di autorizzazioni appropriate.Se l'istanza corrispondente di SQL Server è attualmente in esecuzione in un altro computer, sarà necessario configurare anche Windows Firewall in entrambi i computer.
Nota Il debug di Transact-SQL con SQL Server 2000 e versioni precedenti non è supportato.
È possibile utilizzare anche Visual Studio per eseguire il debug del codice CLR SQL (oggetti di database in cui viene utilizzato il codice gestito).Per eseguire il debug di CLR SQL in un server database remoto, è necessario installare Remote Debugging Monitor nel computer in cui è in esecuzione l'istanza di SQL Server.Per ulteriori informazioni, vedere How to: Set Up Remote Debugging e Debugging Database Objects That Use Managed Code (SQL CLR Debugging).
Per ulteriori informazioni sul debug di Transact-SQL con SQL Server Management Studio, vedere Utilizzo del debugger Transact-SQL.
Per preparare le autorizzazioni di SQL Server nell'istanza di SQL Server
Aggiungere l'account dell'applicazione al ruolo predefinito del server sysadmin di SQL Server.L'account dell'applicazione è l'account di Windows in cui viene eseguito Visual Studio.A tal fine, eseguire l'istruzione Transact-SQL seguente con un account di accesso che è anche membro di sysadmin, dove Domain\Name rappresenta l'accesso dell'account di Windows: sp_addsrvrolemember 'Domain\Name', 'sysadmin'
Aggiungere l'account di connessione al ruolo predefinito del server sysadmin di SQL Server.L'account di connessione è l'account di accesso di Windows o di SQL Server utilizzato dal codice Transact-SQL per connettersi all'istanza di SQL Server.A tal fine, eseguire l'istruzione Transact-SQL seguente con un account di accesso che è anche membro di sysadmin, dove Domain\Name rappresenta l'account corrispondente: sp_addsrvrolemember 'Domain\Name', 'sysadmin'
Nota
Si consiglia di eseguire il debug del codice Transact-SQL in un server di prova, anziché un server di produzione, per le ragioni seguenti: il debug è un'operazione che richiede privilegi elevati,pertanto solo i membri del ruolo predefinito del server sysadmin possono eseguire il debug in SQL Server;le sessioni di debug spesso durano a lungo quando si esaminano le operazioni di numerose istruzioni Transact-SQL;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 oppure al commit o rollback della transazione.
Per preparare Windows Firewall per il debug remoto (quando SQL Server è in esecuzione in un computer diverso)
Nel computer in cui è in esecuzione Visual Studio è necessario aggiungere gli elementi seguenti all'elenco di eccezioni di Windows Firewall:
Il programma Visual Studio, Devenv.exe.
La porta TCP 135
Nel computer in cui è in esecuzione l'istanza di SQL Server è necessario aggiungere gli elementi seguenti all'elenco di eccezioni di Windows Firewall:
Il programma SQL Server, sqlservr.exe.Per impostazione predefinita, sqlservr.exe viene installato in C:\Programmi\Microsoft SQL Server\MSSQL10.NomeIstanza\MSSQL\Binn, dove NomeIstanza è MSSQLSERVER per l'istanza predefinita e il nome dell'istanza per qualsiasi istanza denominata.
La porta TCP 135
Se i criteri di dominio richiedono che la comunicazione di rete venga eseguita tramite IPSec, è necessario aprire anche le porte UDP 4500 e UDP 500.
Vedere anche
Riferimento
Errori di impostazione del debug di Transact-SQL e risoluzione dei problemi
Concetti
Altre risorse
Impostazione del debug di Transact-SQL
Debug Settings and Preparation
Enabling SQL Debugging on SQL 2000 Desktop Engines
How to: Set Up Remote Debugging
Debugging Database Objects That Use Managed Code (SQL CLR Debugging)