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.

Questa funzionalità è disponibile con la versione 17.9.1 di SSMS e versioni precedenti.

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 2005 (9.x) Service Pack 2 (SP2) o versioni successive. Sono inclusi i componenti del debugger lato client:

  • Quando si installano gli strumenti lato client da SQL Server 2008 (10.0.x) o versioni successive

  • In caso di installazione di Microsoft Visual Studio 2010 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 Management Studio o 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. Queste regole possono essere create dal programma di installazione di SQL Server. 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.

    1. 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.

    2. Nella finestra di dialogo Tipo di regola selezionare Programma, quindi selezionare Avanti.

    3. 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 in C:\Program Files\Microsoft SQL Server\MSSQL13.<InstanceName>\MSSQL\Binn, dove <InstanceName> è MSSQLSERVER per l'istanza predefinita e il nome dell'istanza per qualsiasi istanza denominata.

    4. Nella finestra di dialogo Azione selezionare Consenti la connessione, quindi selezionare Avanti.

    5. 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.

    6. Nella finestra di dialogo Nome digitare un nome e una descrizione per questa regola, quindi selezionare Fine.

    7. Nell'elenco Regole in entrata fare clic con il pulsante destro del mouse sulla regola creata e quindi selezionare Proprietà nel riquadro azioni.

    8. Selezionare la scheda Protocolli e porte .

    9. 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 DCOM dalle sessioni di debug remoto.

    1. 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.

    2. Nella finestra di dialogo Tipo di regola selezionare Programma, quindi selezionare Avanti.

    3. 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.

    4. Nella finestra di dialogo Azione selezionare Consenti la connessione, quindi selezionare Avanti.

    5. 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.

    6. Nella finestra di dialogo Nome digitare un nome e una descrizione per questa regola, quindi selezionare Fine.

    7. Nell'elenco Regole in entrata fare clic con il pulsante destro del mouse sulla regola creata e quindi selezionare Proprietà nel riquadro azioni.

    8. Selezionare la scheda Protocolli e porte .

    9. 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, l'installazione di SQL Server o di SQL Server Data Tools potrebbe aver configurato 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:

    1. 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.

    2. Nella finestra di dialogo Tipo di regola selezionare Programma, quindi selezionare Avanti.

    3. 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.

    4. Nella finestra di dialogo Azione selezionare Consenti la connessione, quindi selezionare Avanti.

    5. 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.

    6. Nella finestra di dialogo Nome digitare un nome e una descrizione per questa regola, quindi selezionare Fine.

    7. Nell'elenco Regole in entrata fare clic con il pulsante destro del mouse sulla regola creata e quindi selezionare Proprietà nel riquadro azioni.

    8. Selezionare la scheda Protocolli e porte .

    9. 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. Se è necessario aprire sessioni di debug remoto sia da SQL Server Management Studio che da SQL Server Data Tools nello stesso computer, è necessario aggiungere una regola di programma per entrambi:

    1. 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.

    2. Nella finestra di dialogo Tipo di regola selezionare Programma, quindi selezionare Avanti.

    3. Nella finestra di dialogo Programma selezionare Percorso programma e immettere uno di questi tre valori.

      • Per SQL Server Management Studio immettere il percorso completo di ssms.exe. Per impostazione predefinita, ssms.exe è installato in C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\Management Studio.

      • Per SQL Server Data Tools, immettere il percorso completo per devenv.exe:

        1. Per impostazione predefinita, devenv.exe per Visual Studio 2010 è in C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE.

        2. Per impostazione predefinita, devenv.exe per Visual Studio 2012 è in C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE.

        3. È possibile trovare il percorso di ssms.exe dal collegamento usato per avviare SQL Server Management Studio. È 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 .

    4. Nella finestra di dialogo Azione selezionare Consenti la connessione, quindi selezionare Avanti.

    5. 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.

    6. Nella finestra di dialogo Nome digitare un nome e una descrizione per questa regola, quindi selezionare Fine.

    7. Nell'elenco Regole in entrata fare clic con il pulsante destro del mouse sulla regola creata e quindi selezionare Proprietà nel riquadro azioni.

    8. Selezionare la scheda Protocolli e porte .

    9. 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 Management Studio o SQL Server Data Tools deve essere eseguito con un account di Windows membro del ruolo predefinito 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 (9.x) Service Pack 2 (SP2) o versioni successive. 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.

Passaggi successivi