Configurer des règles de pare-feu avant d’exécuter le débogueur TSQL

S’applique à : SQL Server (toutes les versions prises en charge)

Vous devez configurer des règles de Pare-feu Windows pour permettre le débogage Transact-SQL en cas de connexion à une instance du Moteur de base de données qui s'exécute sur un autre ordinateur que l'Éditeur de requête du Moteur de base de données.

Cette fonctionnalité fonctionne avec SSMS version 17.9.1 et antérieure.

Configuration du débogueur Transact-SQL

Le débogueur Transact-SQL inclut des composants côté serveur et côté client. Les composants du débogueur côté serveur sont installés avec chaque instance du moteur de base de données à partir de SQL Server 2005 (9.x) Service Pack 2 (SP2) ou version ultérieure. Les composants côté client du débogueur sont inclus :

  • Lorsque vous utilisez les outils côté client de SQL Server 2008 ou version ultérieure.

  • Lorsque vous installez Microsoft Visual Studio 2010 ou version ultérieure.

  • Lorsque vous installez SQL Server Data Tools (SSDT) à partir d'un téléchargement Web.

Aucune configuration particulière n’est requise pour exécuter le débogueur Transact-SQL quand SQL Server Management Studio ou SQL Server Data Tools s’exécute sur le même ordinateur que l’instance du Moteur de base de données SQL Server. Toutefois, pour exécuter le débogueur Transact-SQL lorsqu'il est connecté à une instance distante du Moteur de base de données, vous devez activer des règles de programme et de port dans le Pare-feu Windows sur les deux ordinateurs. Ces règles peuvent être créées par le programme d'installation de SQL Server . Si vous obtenez des erreurs lors de la tentative d'ouverture d'une session de débogage distant, assurez-vous que les règles suivantes de pare-feu sont définis sur votre ordinateur.

Utilisez l'application Pare-feu Windows avec fonctions avancées de sécurité pour gérer les règles de pare-feu. Dans Windows 7 et Windows Server 2008 R2, ouvrez Panneau de configuration, Pare-feu Windows, puis sélectionnez Paramètres avancés. Dans Windows Server 2008 R2 vous pouvez également ouvrir Gestionnaire de services, développer Configuration dans le volet gauche, puis développer Pare-feu Windows avec fonctions avancées de sécurité.

Attention

L'activation des règles dans le Pare-feu Windows peut exposer votre ordinateur à des atteintes à la sécurité que le pare-feu est conçu pour bloquer. L'activation des règles pour le débogage distant débloque les ports et les programmes répertoriés dans cette rubrique.

Règles de pare-feu sur le serveur

Sur l'ordinateur qui exécute l'instance du Moteur de base de données, utilisez le Pare-feu Windows avec fonctions avancées de sécurité pour spécifier les informations suivantes :

  • Ajoutez une règle de programme entrante pour sqlservr.exe. Vous devez avoir une règle pour chaque instance qui doit prendre en charge les sessions de débogage distant.

    1. Dans Pare-feu Windows avec fonctions avancées de sécurité, dans le volet gauche, cliquez avec le bouton droit sur Règles de trafic entrant, puis sélectionnez Nouvelle règle dans le volet Action.

    2. Dans la boîte de dialogue Type de règle , sélectionnez Programme, puis cliquez sur Suivant.

    3. Dans la boîte de dialogue Programme , sélectionnez Ce chemin d'accès du programme : , puis entrez le chemin d'accès complet à sqlservr.exe pour cette instance. Par défaut, sqlservr.exe est installé dans C:\Program Files\Microsoft SQL Server\MSSQL13.NomInstance\MSSQL\Binn, où NomInstance représente MSSQLSERVER pour l’instance par défaut et le nom de l’instance pour toute instance nommée.

    4. Dans la boîte de dialogue Action , sélectionnez Autoriser la connexion, puis cliquez sur Suivant.

    5. Dans la boîte de dialogue Profil , sélectionnez des profils qui décrivent l'environnement de connexion de l'ordinateur lorsque vous souhaitez ouvrir une session de débogage distant avec l'instance, puis cliquez sur Suivant.

    6. Dans la boîte de dialogue Nom , tapez un nom et une description pour cette règle, puis cliquez sur Terminer.

    7. Dans la liste Règles de trafic entrant , cliquez avec le bouton droit sur la règle que vous avez créée, puis sélectionnez Propriétés dans le volet Action.

    8. Sélectionnez l'onglet Protocoles et ports .

    9. Sélectionnez TCP dans la zone Type de protocole : , sélectionnez Ports dynamiques RPC dans la zone Port local : , cliquez sur Appliquer, puis sur OK.

  • Ajoutez une règle de programme entrante pour svchost.exe pour activer les communications DCOM des sessions de débogage distant.

    1. Dans Pare-feu Windows avec fonctions avancées de sécurité, dans le volet gauche, cliquez avec le bouton droit sur Règles de trafic entrant, puis sélectionnez Nouvelle règle dans le volet Action.

    2. Dans la boîte de dialogue Type de règle , sélectionnez Programme, puis cliquez sur Suivant.

    3. Dans la boîte de dialogue Programme , sélectionnez Ce chemin d'accès du programme : , puis entrez le chemin d'accès complet à scvhost.exe. Par défaut, svchost.exe est installé dans %systemroot%\System32\svchost.exe.

    4. Dans la boîte de dialogue Action , sélectionnez Autoriser la connexion, puis cliquez sur Suivant.

    5. Dans la boîte de dialogue Profil , sélectionnez des profils qui décrivent l'environnement de connexion de l'ordinateur lorsque vous souhaitez ouvrir une session de débogage distant avec l'instance, puis cliquez sur Suivant.

    6. Dans la boîte de dialogue Nom , tapez un nom et une description pour cette règle, puis cliquez sur Terminer.

    7. Dans la liste Règles de trafic entrant , cliquez avec le bouton droit sur la règle que vous avez créée, puis sélectionnez Propriétés dans le volet Action.

    8. Sélectionnez l'onglet Protocoles et ports .

    9. Sélectionnez TCP dans la zone Type de protocole : , sélectionnez Mappeur de point de terminaison RPC dans la zone Port local : , cliquez sur Appliquer, puis sur OK.

  • Si la stratégie de domaine exige que les communications réseau s'effectuent par le biais du protocole IPsec, vous devez également ajouter des règles entrantes ouvrant les ports UDP 4500 et UDP 500.

Règles de pare-feu sur le client

Sur l'ordinateur qui exécute l'Éditeur de requête du Moteur de base de données , le programme d'installation de SQL Server ou le programme d'installation de SQL Server Data Tools a peut-être configuré le Pare-feu Windows de façon à autoriser le débogage distant.

Si vous obtenez des erreurs lors de la tentative d'ouverture d'une session de débogage distant, vous pouvez configurer manuellement les exceptions de port et programme à l'aide du Pare-feu Windows avec fonctions avancées de sécurité pour configurer des règles de pare-feu :

  • Ajouter une entrée de programme pour svchost :

    1. Dans Pare-feu Windows avec fonctions avancées de sécurité, dans le volet gauche, cliquez avec le bouton droit sur Règles de trafic entrant, puis sélectionnez Nouvelle règle dans le volet Action.

    2. Dans la boîte de dialogue Type de règle , sélectionnez Programme, puis cliquez sur Suivant.

    3. Dans la boîte de dialogue Programme , sélectionnez Ce chemin d'accès du programme : , puis entrez le chemin d'accès complet à scvhost.exe. Par défaut, svchost.exe est installé dans %systemroot%\System32\svchost.exe.

    4. Dans la boîte de dialogue Action , sélectionnez Autoriser la connexion, puis cliquez sur Suivant.

    5. Dans la boîte de dialogue Profil , sélectionnez des profils qui décrivent l'environnement de connexion de l'ordinateur lorsque vous souhaitez ouvrir une session de débogage distant avec l'instance, puis cliquez sur Suivant.

    6. Dans la boîte de dialogue Nom , tapez un nom et une description pour cette règle, puis cliquez sur Terminer.

    7. Dans la liste Règles de trafic entrant , cliquez avec le bouton droit sur la règle que vous avez créée, puis sélectionnez Propriétés dans le volet Action.

    8. Sélectionnez l'onglet Protocoles et ports .

    9. Sélectionnez TCP dans la zone Type de protocole : , sélectionnez Mappeur de point de terminaison RPC dans la zone Port local : , cliquez sur Appliquer, puis sur OK.

  • Ajoutez une entrée de programme pour l'application qui héberge l'Éditeur de requête du Moteur de base de données . Si vous devez ouvrir des sessions de débogage distant depuis SQL Server Management Studio et SQL Server Data Tools sur le même ordinateur, vous devez ajouter une règle de programme pour les deux :

    1. Dans Pare-feu Windows avec fonctions avancées de sécurité, dans le volet gauche, cliquez avec le bouton droit sur Règles de trafic entrant, puis sélectionnez Nouvelle règle dans le volet Action.

    2. Dans la boîte de dialogue Type de règle , sélectionnez Programme, puis cliquez sur Suivant.

    3. Dans la boîte de dialogue Programme , sélectionnez Ce chemin d'accès du programme : , puis entrez une de ces trois valeurs.

      • Pour SQL Server Management Studio, entrez le chemin complet de ssms.exe. Par défaut, ssms.exe est installé dans C:\Program Files (x86)\Microsoft SQL Server\130\Tools\Binn\Management Studio.

      • Pour SQL Server Data Tools , entrez le chemin d'accès complet à devenv.exe :

        1. L'emplacement par défaut du fichier devenv.exe pour Visual Studio 2010 est C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE.

        2. L'emplacement par défaut du fichier devenv.exe pour Visual Studio 2012 est C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE.

        3. Vous trouverez le chemin de ssms.exe dans le raccourci utilisé pour lancer SQL Server Management Studio. Vous pouvez trouver le chemin d'accès à devenv.exe dans le raccourci utilisé pour lancer SQL Server Data Tools. Cliquez avec le bouton droit sur le raccourci et choisissez Propriétés. L'exécutable et le chemin d'accès sont répertoriés dans la zone Cible .

    4. Dans la boîte de dialogue Action , sélectionnez Autoriser la connexion, puis cliquez sur Suivant.

    5. Dans la boîte de dialogue Profil , sélectionnez des profils qui décrivent l'environnement de connexion de l'ordinateur lorsque vous souhaitez ouvrir une session de débogage distant avec l'instance, puis cliquez sur Suivant.

    6. Dans la boîte de dialogue Nom , tapez un nom et une description pour cette règle, puis cliquez sur Terminer.

    7. Dans la liste Règles de trafic entrant , cliquez avec le bouton droit sur la règle que vous avez créée, puis sélectionnez Propriétés dans le volet Action.

    8. Sélectionnez l'onglet Protocoles et ports .

    9. Sélectionnez TCP dans la zone Type de protocole : , sélectionnez Ports dynamiques RPC dans la zone Port local : , cliquez sur Appliquer, puis sur OK.

Configuration requise pour le démarrage du débogueur

Toute tentative de démarrer le débogueur Transact-SQL doit également respecter les conditions suivantes :

  • SQL Server Management Studio ou SQL Server Data Tools doit s’exécuter sous un compte Windows membre du rôle serveur fixe sysadmin.

  • La fenêtre de l’éditeur de requête du Moteur de base de données doit être connectée à l’aide d’une connexion via l’authentification Windows ou l’authentification SQL Server qui est membre du rôle serveur fixe sysadmin.

  • La fenêtre de l'éditeur de requête du Moteur de base de données doit être connectée à une instance du Moteur de base de données de SQL Server 2005 (9.x) Service Pack 2 (SP2) ou version ultérieure. Vous ne pouvez pas exécuter le débogueur lorsque la fenêtre de l'éditeur de requête est connectée à une instance en mode mono-utilisateur.

  • Le serveur doit communiquer avec le client par le biais de RPC. Le compte sous lequel le service SQL Server est exécuté doit avoir des autorisations d’accès authentifiées au client

Voir aussi