Ir al contenido principal

Habilitando Conexiones Remotas a SQL Server 2005

Habilitando conexiones remotas en SQL Server 2005

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:

Comentarios

Entradas populares de este blog

¿En qué puerto TCP escucha SQL Server 2005? ¿Cómo cambiar o configurar el puerto TCP de escucha de una Instancia de SQL Server 2005?

Una buena práctica inmediatamente después de instalar SQL Server 2005 es cambiar el Puerto TCP de escucha, por múltiples motivos: Seguridad, Configuración de reglas de acceso de Firewall, Aplicaciones cliente que requieren un puerto TCP estático para SQL Server, etc. En este Artículo se explica cómo averiguar en qué puerto TCP escucha SQL Server 2005, cómo cambiar el puerto TCP de escucha de SQL Server 2005, etc. Resulta de gran interés ser capaz de responder a la pregunta  ¿En qué puerto TCP escucha SQL Server?  Por defecto, una  Instancia por Defecto de SQL Server 2005  queda configurada durante la instalación para escuchar en el  puerto TCP-1433 , sin embargo,  las Instancias con Nombre  quedan configuradas durante el proceso de instalación para escuchar en  puertos TCP dinámicos , por lo tanto, cada vez que se inicie la Instancia puede que escuche en un puerto diferente. Esta situación puede resultar problemática, por un lado desde el punto de vista de la seguridad (el hecho d

¿Qué es el nivel de aislamiento (Isolation Level) de una Transacción? ¿Qué niveles de aislamiento ofrece SQL Server?

Esta capítulo explica qué es el nivel de aislamiento (isolation level) de una transacción, el comportamiento de SQL Server en operaciones de lectura o de escritura, se detallan los diferentes niveles de aislamiento basados en bloqueos (READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE) y los niveles de aislamiento basados en versionado de filas (READ COMMITTED SNAPSHOT, SNAPSHOT), se explican los males de la concurrencia (lecturas sucias, lecturas no repetibles, lecturas fantasma, y conflictos de actualización), como establecer el nivel de aislamiento deseado (SET TRANSACTION ISOLATION LEVEL y las opciones de base de datos READ_COMMITTED_SNAPSHOT y ALLOW_SNAPSHOT_ISOLATION), cómo conecer el tiempo máximo de bloqueo (@@LOCK_TIMEOUT) y como establecer el tiempo máximo de bloqueo (SET LOCK_TIMEOUT), etc. El nivel de aislamiento de una transacción (transaction isolation level)  define el grado en que se aísla una transacción de las modificaciones de recursos o datos rea

Aumentar y Reducir la TempDB en SQL Server?

Una buena práctica después de instalar SQL Server (y que interesa revisar periódicamente) es tener bien dimensionada la base de datos TEMPDB, es decir que el  tamaño inicial de TEMPDB  sea suficiente, y en consecuencia no sea necesario que TEMPDB crezca ni tampoco reducir TEMPDB (SHRINK). Esta artículo explica brevemente  para qué sirve TEMPDB , explica camo cambiar el tamaño inicial de TEMPDB (aumentar o reducir),  cómo reducir TEMPDB , cuántos ficheros son recomendables para TEMPDB, etc. ¿Para qué sirve TEMPDB?  La base de datos TEMPDB es un elemento de gran importancia en una Instancia de SQL Server, ya que  TEMPDB es la encargada de almacenar tanto los objetos temporales  (tablas temporales, procedimientos almacenados temporales, etc.),  como los resultados intermedios  que pueda necesitar crear el motor de base de datos, por ejemplo durante la ejecución de consultas que utilizan las cláusulas GROUP BY, ORDER BY, DISTINCT, etc. (es decir, las tablas temporales o WorkTables que