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 FilesMicrosoft SQL ServerMSSQL.1MSSQLBinnsqlservr.exe


C:Program FilesMicrosoft SQL Server90Sharedsqlbrowser.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


Espero que os resulte de utilidad.


Un saludo.


 

Sin categoría

68 thoughts on “Habilitando conexiones remotas en SQL Server 2005

  1. Además del estilo que indica Sergio que comenté alguna vez, nunca se repite, siempre se complementa, así que no está de más Luismi.

    Además, tu explicación es esquisita.

    Abrazotes a los dos.

  2. La verdad es que no sé que motivos hicieron que la gente de Microsoft determinara esa configiración por defecto, pero los foros de MSDN están repletos de consultas provocadas por esa decisión… :(

  3. Toni,

    Porque en MS se ha apostado por la filosofia de seguro por defecto (valga la ironía).

    Los demás…tios que mas da si uno repite un post o no. No es necesario meter un comentario para decir “oye, que yo escribí de lo mismo también hace x tiempo”….

  4. Efectivamente Anonimo, es como comentas. La política de Microsoft es hacer el seguro por defecto.

    En cuanto a lo segundo que indicas Anonimo, no es cuestión de decir “yo lo puse primero”, sino que aprovechando la entrada de Luismi, exista en los comentarios enlaces que apunten a otra entrada que habla de lo mismo para que haya más información. A mi modo de ver enriquece y no es ni trata de ser una competición.

    Saludos.

  5. Recalco lo último y me quedo con esa fracesita, postear no se trata de una competencia de quién lo hace primero, por lo menos por aca pasa raras veces…

    y ya nos desviamos mucho del tema 😀

    Saludos,

  6. Hola y gracias a todos por leer el post.

    Estoy totalmente de acuerdo, al menos así lo siento yo, en que la intención que tenemos todas las personas que añadimos artículos, noticias, etc., en los blogs, lo hacemos con el ánimo de difundir información, y en ningún caso de competir. Cada uno con su propio estilo de contar las cosas, y precisamente eso es lo que hace que una información común, que ya hayan podido comentar otros, se enriquezca, y la unión de todos esos posts haga que dicha información adquiera un mayor valor, ahorrando al resto de personas que trabajan en las mismas labores de desarrollo que nosotros, un importante tiempo en su trabajo.

    Un saludo muy grande para todos, y de nuevo, muchas gracias por vuestro interés en el post y por expresar vuestra opinión 8-D

  7. Muy buen aporte, gracias por su tiempo y energía al escribir éstos post. Gracias a los que aportaron también sus links pasados. A mi como usuario, no me importaría si lo hacen por competencia o no (a lo cual, a mi manera de ver, no lo hace así ustedes), pero salimos ganando sus lectores porque el post lo hacen mucho más completo. Sigan así

  8. Hola Thunder

    Gracias por tu opinión, y por supuesto no se trata de hacer competencia, simplemente es un intento de aportar un granito de arena en ayuda de la comunidad que formamos todos, si consigo que algún post resulte de utilidad, me doy por satisfecho 8-).

    Un saludo.
    Luismi

  9. hola gente, lei atentamente todos los comentarios y he buscado por todos lados, pero no puedo dar con mi problema: tengo instalado el sql2000 y sql2005… al ppio cometi(sin querer) el error de instanciar ambos con mismo nombre, por lo q tuve q reinstalarlos… bien, una vez q reinstale(primero el 2000 y luego el 2005), estuve usando el 2005(restaure base, hice consulta, etc..) todo esto sin reiniciar… una vez q reinicie, no puedo dar pie con bola… me tira el mismo msj de error q hablar, pero el numero 28… alguien tiene idea q pueda ser??? agradezco de antemano, saludos!

  10. Hola disculpen estaba revisando su post, ya hice todos esos pasos para confirgurar la conexión, pero aún así no me lo permite no se si me puedan ayudar, tengo que establecer conexión de sql server 2005 al express.
    Ya que del express al sql server si hay conexión
    Gracias.

  11. Muchísimas Gracias, exactamente esto esra lo que estaba buscando de SQL 2005 en Vista para que otras máquinas lo puediran ver, llevo mas de 72 horas buscando la solución y con esta información completé al fin la tarea. Gracias de Nuevo

  12. Hola, disculpa necesito hacer una conexión s sql express a sql server managemen 2005,
    ya intente todo lo qeu mencionan aqui, de hecho
    también lo que hay en esta página
    http://www.netveloper.com/contenido2.aspx,
    pero aún así sigue mandandome el error de que no puedo hacer un select del sql server 2005 al sql express que instale,
    por favor si pudieran orientarme me ayudaria mucho, o no se si tenga que ver como estoy estableciendo mi link server lo hago de la siguiente manera:

    EXEC sp_addlinkedserver
    ‘A200803591002sqlocal’,
    N’SQL Server’

    También así:
    EXEC sp_addlinkedserver
    @server=’A200803591002sqlocal’,
    @srvproduct=”,
    @provider=’SQLNCLI’,
    @datasrc=’A200803591002sqlocal’

    Por su ayuda mil gracias.

  13. Perdón olvide comentar que el error q me aparece al hacer la consulta del aql server 2005 a cualquier tablabla de sql express es:

    OLE DB provider “SQLNCLI” for linked server “A200803591002sqlocal” returned message “Login timeout expired”.

    OLE DB provider “SQLNCLI” for linked server “A200803591002sqlocal” returned message “An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections.”.

    Msg 65535, Level 16, State 1, Line 0
    SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].

  14. no puedo encontrar la herramienta de configuracion, hago programas, sql aerver, y despues ya no se que hacer, tengo 3 opciones configuration tool, que solo tiene un reporte de error, la 2da la que abre la aplicacion, y la tercera que es el acceso al tutorial

  15. Hola aldann

    Quizá el problema que mencionas se deba a que estás utilizando una versión de SQL Server que no es igual a la que se ha utilizado en el post, puede que tengas la versión Express.

    Un saludo.
    Luismi

  16. mira aldann lo q pasa esq la version del sql q cargas no es compatible con tu servidor, a mi me paso eso cambie el instalador y me funciono.
    Ademas ese problema se da mucho en localhost, cuando utilizan Vista.
    Suerte

  17. Yo tengo un problema similar pero es lo contrario,

    explico yo lo que necesito hacer es conectarme desde una makina fisica a una virtual con el mangament studio del sql 2005 y nomas no e podido ya active las conexiones remotas tal como dices pero ni hasi y ya haciendo pruebas ni siquiera puedo conectarme al mangament studio directamente en la makina virtual si pongo la ip del equipo solo por el nombre del host y ya revicel el archivo del host que esta dentro de la carpeta etc en system32

  18. Weenas gente como andan??
    yo ando renegando con este tema de las
    conexiones remotas…
    ya configure todo lo que se podia configurar que lei en internet..sin embargo cuando quiero establecer la conexion me tira error…
    necesito urgente un respuesta..
    RECORDAR…ya configure todo lo que se podia configurar
    tengo visual studio 2008 y uso c#..

  19. Gente este es el codigo que me tira error…
    Necesito urgente una respuestas…

    SqlConnection conexion = new SqlConnection(barba.Properties.Settings.Default.jesusConnectionString);

    conexion.Open();
    if (conexion.State == ConnectionState.Open)
    MessageBox.Show(“Conexion Abierta”);

    conexion.Close();

    //Cuadno se ejecuta la sentencia del open me tira error…por favor AYUDAAAAAAAA

  20. mi amigo que salvada me diste porque detuve desde el task manager los servicios de SQL y ya no me hizo la coneccion con la Base de datos, pero tu instruccion me ayudo a restablacerla, muchas gracias nuevamente

  21. Bueno e probado esto unas cuantas veces por no dedcir varias y nada de nada mi pc es de 32Bits, XP Pro SP3, y SQL Server 2005 admas tiene instalado VS 2005.

    Si alguien me puede ayudar les agradeceria me envien info o alguna ayuda a mi e-mail: nazgargreen@gmail.com

  22. Esperamos que slguien nos pueda ayudar para conocer como se realiza la conexion con el Visual Studio pues es una parte importante para tener una conexion exitosa… personalemte he seguido ya odos los pasos pero en el cliente (osea donde esta la Aplicacion de Visual).. la conexión no es posible pues no encuentra la Base si bien el visual encuentra la computadora que es el servidor de Base de datos .. no encuentra la base como te dije espero puedas ayudarnos … Paul y Daniela………..
    Gracias Por darte tiempo de leer estos comentarios en tu blokkk … saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *