Habilitando conexiones remotas en SQL Server 2005

http://geeks.ms/blogs/lmblanco/archive/2007/12/26/habilitando-conexiones-remotas-en-sql-server-2005.aspx

Hace unos pocos días me encontré ante el siguiente problema: desde una máquina virtual montada en VMWare con Windows XP y SQL Server 2005, necesitaba realizar una prueba consistente en conectar a otro servidor SQL Server 2005, instalado en la máquina principal con Windows Vista, para consultar una tabla existente en una de sus bases de datos. Pensando en que por defecto, la posibilidad de conexión ya estaría habilitada en el servidor SQL, intenté registrar desde la máquina virtual el SQL Server del equipo principal, obteniendo el error que vemos en la siguiente imagen.

Tengo instalada la edición Developer de SQL Server 2005, y dado que evidentemente, la posibilidad de conectar a una instalación remota existente en otro servidor de datos no se encontraba establecida por defecto, había que habilitarla de forma manual.

A continuación describimos los pasos a realizar para habilitar el establecimiento de conexiones remotas en SQL Server (ediciones Developer y Express). Como acabo de indicar, el servidor SQL se encuentra alojado en Windows Vista, no obstante, la explicación resulta igualmente válida para Windows XP.

En primer lugar ejecutaremos la utilidad “Configuración de superficie de SQL Server”, que se encuentra en la siguiente ruta de menú de Windows: Inicio > Todos los programas > Microsoft SQL Server 2005 > Herramientas de configuración > Configuración de superficie de SQL Server, abriéndose la siguiente ventana.

Una vez iniciada esta herramienta, haremos clic en la opción “Configuración de superficie para servicios y conexiones”, lo que nos mostrará un nuevo cuadro de diálogo con los componentes que podemos configurar.

Tal y como se indica en la siguiente imagen, expandiremos el nodo correspondiente al motor de datos, seleccionaremos el elemento “Conexiones remotas”, y en el panel derecho haremos clic en la opción “Conexiones locales y remotas”. Dentro de este último apartado elegiremos el tipo de conexión a utilizar, por ejemplo “Usar TCP/IP y canalizaciones con nombre”.

Después de aplicar los cambios, se mostrará un mensaje advirtiéndonos de que esta nueva configuración no surtirá efecto hasta que no se vuelva a iniciar el servicio del motor de datos, por lo que siguiendo en esta misma ventana de configuración, haremos clic en el elemento “Servicio”, que nos proporciona acceso precisamente al servicio del motor de SQL Server, y la posibilidad de pararlo y arrancarlo de nuevo, como vemos en la siguiente imagen.

En el caso de que estemos utilizando SQL Server con nombre de instancia y sin emplear un número concreto de puerto TCP/IP, como siguiente paso deberemos habilitar el servicio SQL Server Browser, que se encuentra como último nodo en esta ventana de configuración de superficie para SQL Server. En esta ocasión simplemente expandiremos el mencionado nodo, y en el panel derecho iniciaremos el servicio en caso de que no estuviese ya en ejecución.

Habilitar este servicio entraña ciertos riesgos de seguridad que deben ser sopesados. Tengamos en cuenta que para nuestro caso lo estamos habilitando dentro de un escenario de pruebas, por lo que una vez terminadas las mismas y para evitar potenciales problemas, podemos deshabilitarlo.

Como paso final, debemos configurar el Firewall de Windows para que los servicios del motor de datos y SQL Server Browser puedan comunicarse con el exterior.

Después de abrir el panel de control de Windows Vista, dentro del apartado “Seguridad” haremos clic en el elemento “Dejar pasar un programa a través de Firewall de Windows”, como vemos en la siguiente imagen.

Esta acción abrirá el cuadro de diálogo de configuración del Firewall y nos situará directamente en la pestaña “Excepciones”, desde donde podremos añadir, pulsando el botón “Agregar programa”, nuevas aplicaciones para que el Firewall del sistema operativo les permita el paso.

Los ejecutables correspondientes a los servicios del motor de datos y explorador de SQL (SQL Server Browser), se encuentran en las siguientes rutas (siempre y cuando hayamos utilizado las opciones predeterminadas durante la instalación de SQL Server 2005):

C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe

C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe

Una vez agregados estos ejecutables, se visualizarán en la pestaña “Excepciones” del Firewall, tal y como podemos ver en la siguiente imagen.

Tras este último paso, podemos dar por concluida la configuración de SQL Server 2005 para que permita el establecimiento de conexiones remotas. En el siguiente enlace es posible encontrar información adicional:

http://support.microsoft.com/kb/914277