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.


 

68 Comentarios

  1. jorge

    Hola Luismi,

    muy interesante. 🙂

    Valga este otro apunte sobre lo mismo también:

    http://geeks.ms/blogs/jorge/archive/2006/11/19/habilitando-la-configuraci-n-remota-en-sql-server-2005.aspx

    Abrazotes.

  2. lmblanco

    Hola Jorge

    Muchas gracias, y viendo el enlace que indicas, me parece que mi post ha llegado un “poquito” tarde 😉

    Un abrazo.
    Luismi.

  3. serghio

    Luismi!

    Otro apunte: http://geeks.ms/blogs/sergiotarrillo/archive/2006/11/26/6779.aspx. Acotando que las conexiones remotas vienen deshabilitadas en las versiones: Express, Evaluation, y Developer.

    Y como dijo Jorge alguna vez, pueden ser las mismas entradas en el fondo, pero cada uno le pone su estilo :D.

    Saludos,

  4. jorge

    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.

  5. anonymous

    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… 🙁

  6. anonymous

    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”….

  7. jorge

    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.

  8. serghio

    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,

  9. lmblanco

    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

  10. anonymous

    Excelente

  11. lmblanco

    Hola José

    Muchas gracias por leer el post, me alegra que te haya gustado 😎

    Un saludo,
    Luismi

  12. anonymous

    Gracias muy bueno el material.

  13. anonymous

    Gracias muy bueno el material.

  14. lmblanco

    Hola Calabozo

    Gracias a tí por leer el post, celebro que te haya gustado.

    Un saludo,
    Luismi

  15. anonymous

    y si me sale el error: 26 error locating server/instace especified

  16. lmblanco

    Hola adan

    Parece ser que este tipo de error viene originado al intentar conectar a una instancia con nombre de SQL Server, en el siguiente enlace se comenta una solución a este problema:

    http://blogs.msdn.com/sql_protocols/archive/2007/05/13/sql-network-interfaces-error-26-error-locating-server-instance-specified.aspx

    Espero que te sirva de ayuda.

    Un saludo,
    Luismi

  17. anonymous

    bueno yo tengo ese error y voy a probar a ver si funciona

  18. anonymous

    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í

  19. anonymous

    Gracias :D, interesante lo del sqbrowser

  20. lmblanco

    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

  21. lmblanco

    Hola Jose

    Gracias a tí por leer el post, y celebro que te haya resultado de interés.

    Un saludo.
    Luismi

  22. anonymous

    GRACIAS ME AYUDO MUCHO:)

  23. anonymous

    y otra vez yo muchas gracias sin tu ayuda nunca lo huiera podido hacer gracias…. 🙂

  24. anonymous

    hola, que tal exelente aporte, y no solo eso sino la forma en la que esta expliado.
    MUY BUENO…

    Un saludo

  25. lmblanco

    Hola Abelillo

    Gracias por leer el post y me alegra que te resultara de utilidad 😎

    Un saludo.
    Luismi

  26. lmblanco

    Hola Cristian

    Gracias por tu interés en el post y por tu opinión 8-).

    Un saludo.
    Luismi

  27. anonymous

    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!

  28. anonymous

    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.

  29. anonymous

    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

  30. lmblanco

    Hola Confundida

    En el siguiente enlace se explica un modo de realizar la conexión con sql express

    http://www.netveloper.com/contenido2.aspx?IDC=427_0

    Un saludo,
    Luismi

  31. lmblanco

    Hola Juan David

    Celebro que te haya sido de utilidad 😎

    Un saludo,
    Luismi

  32. anonymous

    Estimados Amigos:

    Quiero comentarles que tengo el mismo problema con mi XP-SQL 2000 como servidor y quiero hacer conexion como cliente de otras PCs llamace XP, Vista y mis aplicaciones no logran hacer conexcion saliendo el mismo error que mencionan. En las PC XP tengo SQL 2000 y en el Vista el SQL 2005.

    Gracias de antemano

    raulpaz10@gmail.com, raulpaz10@hotmail.com, highlandtc@gmail.com

  33. anonymous

    wena ctm es lo k buskaba ase tiempo te amo wn *-*

    vale 😀

  34. anonymous

    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.

  35. anonymous

    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].

  36. anonymous

    buen apòrte

  37. lmblanco

    Hola Henry

    Muchas gracias por tu interés en el post.

    Un saludo.
    Luismi

  38. anonymous

    Buen aporte, me salio perfecto ahora puedo acceder a mi sistema desde cualquier punto de internet.
    Verdaderamente un super aporte…!!!

  39. lmblanco

    Hola Teo

    Celebro que este post te sirviera de ayuda.

    Un saludo.
    Luismi

  40. anonymous

    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

  41. lmblanco

    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

  42. anonymous

    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

  43. anonymous

    me salvastela madrugada,GRACIAS!!!

  44. lmblanco

    Hola systembuilder

    No hay de qué, me alegra que te resultara útil.

    Un saludo.
    Luismi

  45. anonymous

    Buen post man, gracias por el aporte.

  46. anonymous

    muy bueno el artículo… casi me vuelvo mono buscando por qué no me conectaba!!!!!!

    muchas gracias!!!!!

    Saludos

  47. lmblanco

    Hola Msspro

    Gracias por tu interés en el artículo.

    Un saludo,
    Luismi

  48. lmblanco

    Hola daniloski

    Gracias por tu opinión, celebro que te sirviera para solucionar el problema.

    Un saludo,
    Luismi

  49. anonymous

    Hola Luis Miguel
    Gracias por la información.
    Saludos

  50. lmblanco

    Hola Susana

    Gracias por tu interés en el post y espero que te haya servido de ayuda.

    Un saludo.
    Luismi

  51. anonymous

    excelente chavo tienes 10 jeje

  52. anonymous

    Muchas gracias por la información.

  53. anonymous

    Muchas gracias, perfecto.

  54. lmblanco

    Hola cat

    Muchas gracias, celebro que te sirviera.

    Un saludo,
    Luismi

  55. lmblanco

    Hola Dexter

    Gracias por tu interés 🙂

    Un saludo,
    Luismi

  56. lmblanco

    Hola Pilarbcn

    No hay de qué, espero que te resultara útil.

    Un saludo,
    Luismi

  57. lmblanco

    Hola JoanBCN

    Me alegro de que te sirviera de ayuda.

    Un saludo,
    Luismi

  58. anonymous

    El articulo esta muy bueno me saco de apuros, esta muy bien explicado

  59. lmblanco

    Hola Dolores

    Gracias por leer el artículo y celebro que te ayudara.

    Un saludo,
    Luismi

  60. anonymous

    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

  61. anonymous

    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#..

  62. anonymous

    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

  63. lmblanco

    Hola Gera

    Puede que el problema sea debido a la configuración de red de la máquina virtual. Revisa las características de la tarjeta de red virtual. Quizá el siguiente enlace te ayude:

    http://stackoverflow.com/questions/310407/how-to-make-sql-server-running-in-virtual-pc-accessible-to-host-os

    Un saludo,
    Luismi

  64. anonymous

    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

  65. lmblanco

    Hola Oskar

    No hay de qué, celebro que este truco te ayudara 🙂

    Un saludo,
    Luismi

  66. anonymous

    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

  67. anonymous

    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

  68. anonymous

    Excelente aporte. funciono a la primera

Leave a Reply

Tema creado por Anders Norén