miércoles, 2 de enero de 2013

Firewall para SQL Server


Cómo configurar un firewall para el acceso a SQL Server


En ocasiones tratamos de abrir desde un programa desarrollado por nosotros o alguna aplicación externa, una instancia de SQL Server y nos reporta un error informando que las conexiones remotas no están permitidas o bien canalización de nombres no esta disponible.

Habitualmente este error se debe:
  1. Configuración del motor de base de datos. Por defecto el puerto utilizado es 1433 pero en determinadas instancias este puerto es dinámico y puede variar. Consulta también  Cómo configurar un servidor para que escuche en un puerto TCP específico (Administrador de configuración de SQL Server.
  2. Configuración Firewall de Windows.

Como abrir/agregar un puerto en el Firewall de Windows


1.         En el Panel de control, abra Conexiones de red, haga clic con el botón secundario en la conexión activa y, a continuación, haga clic en Propiedades.
2.         Haga clic en la ficha Opciones avanzadas y, a continuación, haga clic en Configuración de Firewall de Windows.
3.         En el cuadro de diálogo Firewall de Windows, haga clic en la ficha Excepciones y, a continuación, haga clic en Agregar puerto.
4.         En el cuadro de diálogo Agregar un puerto, en el cuadro Nombre, escriba SQL Server<nombreDeInstancia>.
5.         En el cuadro Número de puerto, escriba el número de puerto de la instancia de Database Engine (Motor de base de datos), por ejemplo, 1433, para la instancia predeterminada.
6.         Compruebe que TCP esté seleccionado y haga clic en Aceptar.
7.         Para abrir el puerto y exponer el servicio Explorador de SQL Server, haga clic en Agregar puerto, escriba Explorador de SQL Server en el cuadro Nombre, escriba 1433 en el cuadro Número de puerto, seleccione UDP y, a continuación, haga clic en Aceptar.
8.         Cierre los cuadros de diálogo Firewall de Windows y Propiedades.


Como alternativa a la configuración de SQL Server para escuchar en un puerto fijo y abrir el puerto, puede poner el ejecutable de SQL Server (Sqlservr.exe) en la lista de excepciones a los programas bloqueados. Use este método cuando desee seguir utilizando puertos dinámicos. De este modo, sólo se puede tener acceso a una sola instancia de SQL Server.

Para obtener acceso a un programa a través del Firewall de Windows

1.         En el cuadro de diálogo Firewall de Windows, haga clic en la ficha Excepciones y, a continuación, haga clic en Agregar programa.
2.         Haga clic en Examinar y busque la instancia de SQL Server a la que desee obtener acceso a través del firewall; a continuación, haga clic en Abrir. De forma predeterminada, SQL Server se encuentra en C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\Sqlservr.exe.
3.         Haga clic dos veces en Aceptar para cerrar el programa Firewall de Windows.

Estos pasos me fueron de utilidad para conseguir resolver el mensaje.

Mucha suerte.