Compartir por


Configuración de reglas de firewall antes de ejecutar el depurador de Transact-SQL

Se aplica a: SQL Server

Se deben configurar reglas del Firewall de Windows para habilitar la depuración en Transact-SQL cuando se establezca conexión con una instancia del Motor de base de datos que se esté ejecutando en un equipo distinto del Editor de consultas de Motor de base de datos.

Configuración del depurador de Transact-SQL

El depurador de Transact-SQL incluye los componentes tanto del lado servidor como del lado cliente. Los componentes del depurador del lado servidor se instalan con cada instancia del motor de base de datos de SQL Server. Los componentes del depurador del lado cliente se incluyen:

  • Al instalar Microsoft Visual Studio 2019 o versiones posteriores.

  • Al instalar SQL Server Data Tools (SSDT) desde una descarga web.

No existen requisitos de configuración para ejecutar el depurador de Transact-SQL cuando SQL Server Data Tools se ejecuta en el mismo equipo que la instancia del Motor de base de datos de SQL Server. No obstante, para ejecutar el depurador de Transact-SQL al establecer conexión con una instancia remota del Motor de base de datos, se deben habilitar reglas de programas y puertos en el Firewall de Windows de ambos equipos. Si obtiene errores al intentar abrir una sesión de depuración remota, asegúrese de que las reglas de firewall siguientes estén definidas en el equipo.

Use la aplicación Firewall de Windows con seguridad avanzada para administrar las reglas de firewall. Tanto en Windows 7 como en Windows Server 2008 R2, abra Panel de control, abra Firewall de Windowsy seleccione Configuración avanzada. En Windows Server 2008 R2 también puede abrir el Administrador de servicios, y expandir Configuración en el panel izquierdo y Firewall de Windows con seguridad avanzada.

Precaución

Al habilitar reglas en Firewall de Windows, el equipo puede quedar expuesto a amenazas de seguridad que el firewall está diseñado para bloquear. Al habilitar reglas para la depuración remota se desbloquean los puertos y los programas mostrados en este tema.

Reglas de firewall en el servidor

En el equipo en el que se ejecuta la instancia del Motor de base de datos, use la aplicación Firewall de Windows con seguridad avanzada para especificar la siguiente información:

  • Agregue una regla de programa de entrada para sqlservr.exe. Debe tener una regla para cada instancia que necesite admitir sesiones de depuración remota.

    1. En la opción Firewall de Windows con seguridad avanzadadel panel izquierdo, haga clic con el botón derecho en Reglas de entraday, luego, seleccione Nueva regla en el panel de acciones.

    2. En el cuadro de diálogo Tipo de regla, seleccione Programa y Siguiente.

    3. En el cuadro de diálogo Programa, seleccione Esta ruta de acceso del programa: y escriba la ruta de acceso completa a sqlservr.exe para esta instancia. De forma predeterminada, sqlservr.exe se instala en C:\Program Files\Microsoft SQL Server\MSSQL16.<InstanceName>\MSSQL\Binn, donde <InstanceName> es MSSQLSERVER para la instancia predeterminada y el nombre de instancia para cualquier instancia con nombre.

    4. En el cuadro de diálogo Acción, seleccione Permitir la conexión y Siguiente.

    5. En el cuadro de diálogo Perfil, seleccione los perfiles que describan el entorno de conexión del equipo cuando desee abrir una sesión de depuración con la instancia y seleccione Siguiente.

    6. En el cuadro de diálogo Nombre, escriba un nombre y una descripción para esta regla y seleccione Finalizar.

    7. En la lista Reglas de entrada, haga clic con el botón secundario en la regla que creó y seleccione Propiedades en el panel de acciones.

    8. Seleccione la pestaña Protocolos y puertos.

    9. Seleccione TCP en el cuadro Tipo de protocolo:, seleccione Puertos dinámicos RPC en el cuadro Puerto local:, seleccione Aplicar y Aceptar.

  • Agregue una regla de programa de entrada para svchost.exe con el fin de habilitar las comunicaciones de Modelo de objetos componentes distribuido (DCOM) desde sesiones remotas del depurador.

    1. En la opción Firewall de Windows con seguridad avanzadadel panel izquierdo, haga clic con el botón derecho en Reglas de entraday, luego, seleccione Nueva regla en el panel de acciones.

    2. En el cuadro de diálogo Tipo de regla, seleccione Programa y Siguiente.

    3. En el cuadro de diálogo Programa, seleccione Esta ruta de acceso del programa: y escriba la ruta de acceso completa a svchost.exe. De forma predeterminada, svchost.exe se instala en %systemroot%\System32\svchost.exe.

    4. En el cuadro de diálogo Acción, seleccione Permitir la conexión y Siguiente.

    5. En el cuadro de diálogo Perfil, seleccione los perfiles que describan el entorno de conexión del equipo cuando desee abrir una sesión de depuración con la instancia y seleccione Siguiente.

    6. En el cuadro de diálogo Nombre, escriba un nombre y una descripción para esta regla y seleccione Finalizar.

    7. En la lista Reglas de entrada, haga clic con el botón secundario en la regla que creó y seleccione Propiedades en el panel de acciones.

    8. Seleccione la pestaña Protocolos y puertos.

    9. Seleccione TCP en el cuadro Tipo de protocolo:, seleccione Asignador de extremos de RPC en el cuadro Puerto local:, y seleccione Aplicar y Aceptar.

  • Si la directiva de dominio necesita que las comunicaciones de red se realicen a través de IPsec, también debe agregar reglas de entrada que abran los puertos UDP 4500 y 500.

Reglas de firewall en el cliente

En el equipo que ejecuta el editor de Power Query del Motor de base de datos, configure Firewall de Windows para permitir la depuración remota.

Si obtiene errores al intentar abrir una sesión de depuración remota, puede configurar manualmente las excepciones de programas y de puertos mediante Firewall de Windows con seguridad avanzada para configurar reglas de firewall:

  • Agregue una entrada de programa para svchost:

    1. En la opción Firewall de Windows con seguridad avanzadadel panel izquierdo, haga clic con el botón derecho en Reglas de entraday, luego, seleccione Nueva regla en el panel de acciones.

    2. En el cuadro de diálogo Tipo de regla, seleccione Programa y Siguiente.

    3. En el cuadro de diálogo Programa, seleccione Esta ruta de acceso del programa: y escriba la ruta de acceso completa a svchost.exe. De forma predeterminada, svchost.exe se instala en %systemroot%\System32\svchost.exe.

    4. En el cuadro de diálogo Acción, seleccione Permitir la conexión y Siguiente.

    5. En el cuadro de diálogo Perfil, seleccione los perfiles que describan el entorno de conexión del equipo cuando desee abrir una sesión de depuración con la instancia y seleccione Siguiente.

    6. En el cuadro de diálogo Nombre, escriba un nombre y una descripción para esta regla y seleccione Finalizar.

    7. En la lista Reglas de entrada, haga clic con el botón secundario en la regla que creó y seleccione Propiedades en el panel de acciones.

    8. Seleccione la pestaña Protocolos y puertos.

    9. Seleccione TCP en el cuadro Tipo de protocolo:, seleccione Asignador de extremos de RPC en el cuadro Puerto local:, y seleccione Aplicar y Aceptar.

  • Agregue una entrada de programa para la aplicación que hospeda el editor de consultas del Motor de base de datos de SQL Server Data Tools. Si tiene que abrir sesiones de depuración remotas desde múltiples instalaciones de SQL Server Data Tools en el mismo equipo, tendrá que agregar una regla de programa para ambos:

    1. En la opción Firewall de Windows con seguridad avanzadadel panel izquierdo, haga clic con el botón derecho en Reglas de entraday, luego, seleccione Nueva regla en el panel de acciones.

    2. En el cuadro de diálogo Tipo de regla, seleccione Programa y Siguiente.

    3. En el cuadro de diálogo Programa , seleccione Esta ruta de acceso del programa: y escriba uno de estos tres valores.

      • Para SQL Server Data Tools, escriba la ruta de acceso completa a devenv.exe:

        1. De forma predeterminada, el devenv.exe para Visual Studio 2022 está en C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE.

        2. De forma predeterminada, el devenv.exe para Visual Studio 2019 está en C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE.

        3. Puede encontrar la ruta de acceso a devenv.exe en el acceso directo que emplea para iniciar SQL Server Data Tools. Haga clic con el botón secundario en el acceso directo y seleccione Propiedades. El archivo ejecutable y la ruta de acceso se muestran en el cuadro Destino .

    4. En el cuadro de diálogo Acción, seleccione Permitir la conexión y Siguiente.

    5. En el cuadro de diálogo Perfil, seleccione los perfiles que describan el entorno de conexión del equipo cuando desee abrir una sesión de depuración con la instancia y seleccione Siguiente.

    6. En el cuadro de diálogo Nombre, escriba un nombre y una descripción para esta regla y seleccione Finalizar.

    7. En la lista Reglas de entrada, haga clic con el botón secundario en la regla que creó y seleccione Propiedades en el panel de acciones.

    8. Seleccione la pestaña Protocolos y puertos.

    9. Seleccione TCP en el cuadro Tipo de protocolo:, seleccione Puertos dinámicos RPC en el cuadro Puerto local:, seleccione Aplicar y Aceptar.

Requisitos para iniciar el depurador

Todos los intentos de iniciar el depurador de Transact-SQL deben cumplir también los requisitos siguientes:

  • SQL Server Data Tools se debe ejecutar bajo una cuenta de Windows que sea miembro del rol fijo de servidor de administrador del sistema.

  • La ventana del Editor de consultas de Motor de base de datos se debe conectar mediante el uso de un inicio de sesión de autenticación de Windows o de autenticación de SQL Server que sea miembro del rol fijo de servidor sysadmin.

  • La ventana del Editor de consultas del Motor de base de datos debe estar conectada a una instancia del Motor de base de datos de SQL Server. No puede ejecutar el depurador cuando la ventana del Editor de consultas esté conectada a una instancia cuyo modo sea de usuario único.

  • El servidor necesita comunicarse de nuevo con el cliente a través de RPC. La cuenta en la que se ejecuta el servicio SQL Server debe tener permisos autenticados para el cliente.