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.
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.
lmblanco
Hola Jorge
Muchas gracias, y viendo el enlace que indicas, me parece que mi post ha llegado un «poquito» tarde 😉
Un abrazo.
Luismi.
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,
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.
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… 🙁
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»….
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.
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,
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
anonymous
Excelente
lmblanco
Hola José
Muchas gracias por leer el post, me alegra que te haya gustado 😎
Un saludo,
Luismi
anonymous
Gracias muy bueno el material.
anonymous
Gracias muy bueno el material.
lmblanco
Hola Calabozo
Gracias a tí por leer el post, celebro que te haya gustado.
Un saludo,
Luismi
anonymous
y si me sale el error: 26 error locating server/instace especified
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
anonymous
bueno yo tengo ese error y voy a probar a ver si funciona
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í
anonymous
Gracias :D, interesante lo del sqbrowser
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
lmblanco
Hola Jose
Gracias a tí por leer el post, y celebro que te haya resultado de interés.
Un saludo.
Luismi
anonymous
GRACIAS ME AYUDO MUCHO:)
anonymous
y otra vez yo muchas gracias sin tu ayuda nunca lo huiera podido hacer gracias…. 🙂
anonymous
hola, que tal exelente aporte, y no solo eso sino la forma en la que esta expliado.
MUY BUENO…
Un saludo
lmblanco
Hola Abelillo
Gracias por leer el post y me alegra que te resultara de utilidad 😎
Un saludo.
Luismi
lmblanco
Hola Cristian
Gracias por tu interés en el post y por tu opinión 8-).
Un saludo.
Luismi
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!
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.
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
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
lmblanco
Hola Juan David
Celebro que te haya sido de utilidad 😎
Un saludo,
Luismi
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
anonymous
wena ctm es lo k buskaba ase tiempo te amo wn *-*
vale 😀
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.
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].
anonymous
buen apòrte
lmblanco
Hola Henry
Muchas gracias por tu interés en el post.
Un saludo.
Luismi
anonymous
Buen aporte, me salio perfecto ahora puedo acceder a mi sistema desde cualquier punto de internet.
Verdaderamente un super aporte…!!!
lmblanco
Hola Teo
Celebro que este post te sirviera de ayuda.
Un saludo.
Luismi
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
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
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
anonymous
me salvastela madrugada,GRACIAS!!!
lmblanco
Hola systembuilder
No hay de qué, me alegra que te resultara útil.
Un saludo.
Luismi
anonymous
Buen post man, gracias por el aporte.
anonymous
muy bueno el artículo… casi me vuelvo mono buscando por qué no me conectaba!!!!!!
muchas gracias!!!!!
Saludos
lmblanco
Hola Msspro
Gracias por tu interés en el artículo.
Un saludo,
Luismi
lmblanco
Hola daniloski
Gracias por tu opinión, celebro que te sirviera para solucionar el problema.
Un saludo,
Luismi
anonymous
Hola Luis Miguel
Gracias por la información.
Saludos
lmblanco
Hola Susana
Gracias por tu interés en el post y espero que te haya servido de ayuda.
Un saludo.
Luismi
anonymous
excelente chavo tienes 10 jeje
anonymous
Muchas gracias por la información.
anonymous
Muchas gracias, perfecto.
lmblanco
Hola cat
Muchas gracias, celebro que te sirviera.
Un saludo,
Luismi
lmblanco
Hola Dexter
Gracias por tu interés 🙂
Un saludo,
Luismi
lmblanco
Hola Pilarbcn
No hay de qué, espero que te resultara útil.
Un saludo,
Luismi
lmblanco
Hola JoanBCN
Me alegro de que te sirviera de ayuda.
Un saludo,
Luismi
anonymous
El articulo esta muy bueno me saco de apuros, esta muy bien explicado
lmblanco
Hola Dolores
Gracias por leer el artículo y celebro que te ayudara.
Un saludo,
Luismi
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
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#..
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
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
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
lmblanco
Hola Oskar
No hay de qué, celebro que este truco te ayudara 🙂
Un saludo,
Luismi
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
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
anonymous
Excelente aporte. funciono a la primera