Configurare le regole del firewall prima di eseguire il debugger di Transact-SQL
Si applica a: SQL Server
È necessario configurare regole di Windows Firewall per abilitare il debug di Transact-SQL durante la connessione a un'istanza del motore di database eseguita in un computer diverso rispetto all'editor di query del motore di database.
Configurazione del debugger Transact-SQL
Il debugger Transact-SQL include componenti sia sul lato server sia sul lato client. I componenti del debugger lato server vengono installati con ogni istanza del motore di database da SQL Server. Sono inclusi i componenti del debugger lato client:
In caso di installazione di Microsoft Visual Studio 2019 o versioni successive.
Quando si installa SQL Server Data Tools (SSDT) dal download Web
Non sono previsti requisiti di configurazione per eseguire il debugger Transact-SQL quando SQL Server Data Tools viene eseguito nello stesso computer dell'istanza del motore di database di SQL Server. Per eseguire il debugger Transact-SQL quando si è connessi a un'istanza remota del motore di database, tuttavia, è necessario abilitare regole relative a programmi e porte in Windows Firewall in entrambi i computer. Se si verificano errori mentre si tenta di aprire una sessione di debug remoto, assicurarsi che nel computer siano definite le regole firewall indicate di seguito.
Usare l'applicazione Windows Firewall con protezione avanzata per gestire le regole firewall. In Windows 7 e Windows Server 2008 R2 aprire Pannello di controllo, aprire Windows Firewall e scegliere Impostazioni avanzate. In Windows Server 2008 R2 è anche possibile aprire Service Manager, espandere Configurazione nel riquadro sinistro e quindi espandere Windows Firewall con protezione avanzata.
Attenzione
È possibile che l'abilitazione di regole in Windows Firewall esponga il computer a rischi per la sicurezza, per bloccare i quali è progettato il firewall. L'abilitazione di regole per il debug remoto determina lo sblocco delle porte e dei programmi elencati in questo argomento.
Regole firewall nel server
Nel computer in cui è in esecuzione l'istanza del motore di database usare Windows Firewall con protezione avanzata per specificare le informazioni seguenti:
Aggiungere una regola di programma in entrata per
sqlservr.exe
. È necessario disporre di una regola per ogni istanza che richiede il supporto di sessioni di debug remoto.Nel riquadro sinistro di Windows Firewall con protezione avanzatafare clic con il pulsante destro del mouse su Regole in entrata, quindi scegliere Nuova regola nel riquadro azioni.
Nella finestra di dialogo Tipo di regola selezionare Programma, quindi selezionare Avanti.
Nella finestra di dialogo Programma selezionare Percorso programma e immettere il percorso completo di
sqlservr.exe
per questa istanza. Per impostazione predefinita,sqlservr.exe
viene installato inC:\Program Files\Microsoft SQL Server\MSSQL16.<InstanceName>\MSSQL\Binn
, dove<InstanceName>
èMSSQLSERVER
per l'istanza predefinita e il nome dell'istanza per qualsiasi istanza denominata.Nella finestra di dialogo Azione selezionare Consenti la connessione, quindi selezionare Avanti.
Nella finestra di dialogo Profilo selezionare qualsiasi profilo che descrive l'ambiente di connessione del computer quando si vuole aprire una sessione di debug con l'istanza e selezionare Avanti.
Nella finestra di dialogo Nome digitare un nome e una descrizione per questa regola, quindi selezionare Fine.
Nell'elenco Regole in entrata fare clic con il pulsante destro del mouse sulla regola creata e quindi selezionare Proprietà nel riquadro azioni.
Selezionare la scheda Protocolli e porte .
Selezionare TCP nel riquadro Tipo di protocollo, Porte dinamiche RPC nel riquadro Porta locale, quindi selezionare Applica e poi OK.
Aggiungere una regola di programma in entrata per
svchost.exe
per abilitare le comunicazioni Distributed Component Object Model (DCOM) dalle sessioni di debug remoto.Nel riquadro sinistro di Windows Firewall con protezione avanzatafare clic con il pulsante destro del mouse su Regole in entrata, quindi scegliere Nuova regola nel riquadro azioni.
Nella finestra di dialogo Tipo di regola selezionare Programma, quindi selezionare Avanti.
Nella finestra di dialogo Programma selezionare Percorso programma: e immettere il percorso completo di
svchost.exe
. Per impostazione predefinita,svchost.exe
è installato in%systemroot%\System32\svchost.exe
.Nella finestra di dialogo Azione selezionare Consenti la connessione, quindi selezionare Avanti.
Nella finestra di dialogo Profilo selezionare qualsiasi profilo che descrive l'ambiente di connessione del computer quando si vuole aprire una sessione di debug con l'istanza e selezionare Avanti.
Nella finestra di dialogo Nome digitare un nome e una descrizione per questa regola, quindi selezionare Fine.
Nell'elenco Regole in entrata fare clic con il pulsante destro del mouse sulla regola creata e quindi selezionare Proprietà nel riquadro azioni.
Selezionare la scheda Protocolli e porte .
Selezionare TCP nel riquadro Tipo di protocollo, Agente mapping endpoint RPC nel riquadro Porta locale, quindi selezionare Applica e poi OK.
Se i criteri di dominio richiedono che le comunicazioni di rete vengano eseguite tramite IPSec, è necessario aggiungere anche regole in entrata per l'apertura delle porte UDP 4500 e UDP 500.
Regole firewall nel client
Nel computer in cui è in esecuzione l'editor di query del motore di database, configurare Windows Firewall per consentire il debug remoto.
Se si verificano errori nel tentativo di aprire una sessione di debug remoto, è possibile configurare manualmente le eccezioni relative a programmi e porte usando Windows Firewall con protezione avanzata per configurare regole firewall:
Aggiungere una voce di programma per svchost:
Nel riquadro sinistro di Windows Firewall con protezione avanzatafare clic con il pulsante destro del mouse su Regole in entrata, quindi scegliere Nuova regola nel riquadro azioni.
Nella finestra di dialogo Tipo di regola selezionare Programma, quindi selezionare Avanti.
Nella finestra di dialogo Programma selezionare Percorso programma: e immettere il percorso completo di
svchost.exe
. Per impostazione predefinita,svchost.exe
è installato in%systemroot%\System32\svchost.exe
.Nella finestra di dialogo Azione selezionare Consenti la connessione, quindi selezionare Avanti.
Nella finestra di dialogo Profilo selezionare qualsiasi profilo che descrive l'ambiente di connessione del computer quando si vuole aprire una sessione di debug con l'istanza e selezionare Avanti.
Nella finestra di dialogo Nome digitare un nome e una descrizione per questa regola, quindi selezionare Fine.
Nell'elenco Regole in entrata fare clic con il pulsante destro del mouse sulla regola creata e quindi selezionare Proprietà nel riquadro azioni.
Selezionare la scheda Protocolli e porte .
Selezionare TCP nel riquadro Tipo di protocollo, Agente mapping endpoint RPC nel riquadro Porta locale, quindi selezionare Applica e poi OK.
Aggiungere una voce di programma per l'applicazione che ospita l'editor di query del motore di database SQL Server Data Tools. Se è necessario aprire sessioni di debug remoto da installazioni multiple di SQL Server Data Tools nello stesso computer, è necessario aggiungere una regola di programma per entrambi:
Nel riquadro sinistro di Windows Firewall con protezione avanzatafare clic con il pulsante destro del mouse su Regole in entrata, quindi scegliere Nuova regola nel riquadro azioni.
Nella finestra di dialogo Tipo di regola selezionare Programma, quindi selezionare Avanti.
Nella finestra di dialogo Programma selezionare Percorso programma e immettere uno di questi tre valori.
Per SQL Server Data Tools, immettere il percorso completo per
devenv.exe
:Per impostazione predefinita,
devenv.exe
per Visual Studio 2022 è inC:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE
.Per impostazione predefinita,
devenv.exe
per Visual Studio 2019 è inC:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE
.È possibile trovare il percorso di
devenv.exe
dal collegamento usato per avviare SQL Server Data Tools. Fare clic con il pulsante destro del mouse sul collegamento, quindi scegliere Proprietà. Il file eseguibile e il percorso vengono elencati nel riquadro Destinazione .
Nella finestra di dialogo Azione selezionare Consenti la connessione, quindi selezionare Avanti.
Nella finestra di dialogo Profilo selezionare qualsiasi profilo che descrive l'ambiente di connessione del computer quando si vuole aprire una sessione di debug con l'istanza e selezionare Avanti.
Nella finestra di dialogo Nome digitare un nome e una descrizione per questa regola, quindi selezionare Fine.
Nell'elenco Regole in entrata fare clic con il pulsante destro del mouse sulla regola creata e quindi selezionare Proprietà nel riquadro azioni.
Selezionare la scheda Protocolli e porte .
Selezionare TCP nel riquadro Tipo di protocollo, Porte dinamiche RPC nel riquadro Porta locale, quindi selezionare Applica e poi OK.
Requisiti per l'avvio del debugger
Qualsiasi tentativo di avviare il debugger Transact-SQL deve soddisfare anche i requisiti seguenti:
SQL Server Data Tools deve essere eseguito con un account di Windows membro del ruolo predefinito del server amministratore di sistema.
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. Non è possibile eseguire il debugger quando la finestra dell'editor di query è connessa a un'istanza che è in modalità utente singolo.
Il server deve ricomunicare con il client tramite RPC. L'account su cui è in esecuzione il servizio SQL Server deve avere le autorizzazioni autenticate per il client.