none
Error al crear Servidor Vinculado RRS feed

  • Pregunta

  • Saludos,

    Desde un SQL Server Developer Edition (versión 9.00.1406.00, idioma Inglés) estoy intentando crear un nuevo Servidor Vinculado que es un SQL Server Enterprise Edition (versión 8.00.2055, idioma Inglés), desde SQL Server Management Studio 2008.

    Creo haber seguido al pie de la letra las intrucciones para conseguirlo, pero no hay manera. Detallo los pasos que sigo:

    1. Nuevo servidor vinculado

    2. En la página General, en Servidor Vinculado especifico el nombre del servidor a vincular. En Tipo de servidor, selecciono SQL Server.

    3. En la página Seguridad, creo una asignación entre inicios de sesión. En Inicio de sesión local escribo el usuario con el que estoy conectado. No selecciono la casilla de suplantar. En Usuario remoto pongo el nombre de un inicio de sesión y su contraseña.

    4. En la página Opciones del servidor, pongo con valor True las opciones RPC y Salida RPC.

    5. Pulso el botón Aceptar.

    El resultado es que siempre me muestra el siguiente error:

    TÍTULO: Microsoft SQL Server Management Studio
    ------------------------------

    Error de Crear para LinkedServerLogin 'sa'.  (SqlManagerUI)

    Para obtener ayuda, haga clic en: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.2531.0+((Katmai_PCU_Main).090329-1015+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Crear+LinkedServerLogin&LinkId=20476

    ------------------------------
    INFORMACIÓN ADICIONAL:

    Excepción al ejecutar una instrucción o un proceso por lotes Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

    ------------------------------

    Error durante el descifrado.
    No hay ningún usuario remoto '[usuarioremoto]' asignado al usuario local '[usuariolocal]' desde el servidor remoto '[servidorremoto]'. (Microsoft SQL Server, Error: 15466)

    Para obtener ayuda, haga clic en: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.1406&EvtSrc=MSSQLServer&EvtID=15466&LinkId=20476

    ------------------------------
    BOTONES:

    Aceptar
    ------------------------------

    Muchas gracias, un saludo,

    Jonathan Prieto

    miércoles, 14 de septiembre de 2011 11:24

Respuestas

  • Hola otra vez,

    Efectivamente, no hay conectividad entre ambos servidores, aunque sí lo pareciera, me acaban de abrir los ojos.

    Me explico, mi PC está en dos dominios a la vez (mediante dos IPs, cada servidor pertenece a uno diferente) por eso desde mi PC si que me puedo conectar a cualquiera de los dos con el SQL Server Management Studio 2008, pero entre ellos dos es imposible porque pertenecen a dos redes diferentes.

    Siento haberos hecho perder el tiempo!! Mil gracias,

    Jonathan

    jueves, 15 de septiembre de 2011 13:01

Todas las respuestas

  • Hola,

    el problema es con el usuario, el error es bien claro, aca un link con los pasos mas detallados:

    con SQL Server Management Studio

    http://msdn.microsoft.com/es-es/library/aa560998(v=BTS.10).aspx

    con T-SQL

    http://msdn.microsoft.com/es-es/library/ms190479.aspx

    Bueno espero te sirva la informacion. Nos vemos...!

    miércoles, 14 de septiembre de 2011 13:11
  • Hola Fernando, gracias por tu respuesta.

    Las instrucciones que había seguido son exactamente las de los links que has puesto. Primero intenté conseguirlo a través del SQL Server Management Studio 2008. Al no conseguir avances, intenté hacerlo con T-SQL, pero no hay manera.

    Efectivamente, debe ser algún error con el usuario, pero no consigo saber cuál es.

    jueves, 15 de septiembre de 2011 6:17
  • Hola.

    A lo mejor es una cuestión de comprensión. Debes indicar, por orden de las columnas, un login del servidor local, un login del servidor remoto y la contraseña del servidor remoto. Para determinarlo, pásanos los comandos T-SQL que estás ejecutando (ocultando las contraseñas y otros datos que estimes sean sensibles).

     


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/ Sígueme en twitter en http://twitter.com/qwalgrande

    jueves, 15 de septiembre de 2011 6:38
    Moderador
  • Hola Alberto,

    Los comandos T-SQL que ejecuto son los siguientes:

    1. Creo el servidor vinculado

    EXEC sp_addlinkedserver @server='D1MAPPHIDPS',@srvproduct='SQL Server'

    "Comandos completados correctamente" y ya puedo verlo como servidor vinculado. Ahora pruebo a ver si conecta y me devuelve el siguiente error:

    No se pudo establecer la conexión de prueba al servidor vinculado.

    ------------------------------
    INFORMACIÓN ADICIONAL:

    Excepción al ejecutar una instrucción o un proceso por lotes Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

    ------------------------------

    Proveedor de canalizaciones con nombre: No se pudo abrir una conexión con SQL Server [53].
    El proveedor OLE DB "SQLNCLI" para el servidor vinculado "D1MAPPHIDPS" devolvió el mensaje "Ha finalizado el tiempo de espera de inicio de sesión".
    El proveedor OLE DB "SQLNCLI" para el servidor vinculado "D1MAPPHIDPS" devolvió el mensaje "Error al establecer conexión con el servidor. Cuando se conecta con SQL Server 2005, la configuración predeterminada de SQL Server no permite conexiones remotas.". (Microsoft SQL Server, Error: 53)

    Considero que es debido a que no le he asignado el login para el servidor remoto.

    2. Creo el login para el servidor vinculado

    EXEC sp_addlinkedsrvlogin @rmtsrvname='D1MAPPHIDPS',@useself='False',@locallogin='sa',@rmtuser='sa',@rmtpassword='*****'

    Esta instrucción me devuelve el siguiente error:

    Mens 15466, Nivel 16, Estado 2, Procedimiento sp_addlinkedsrvlogin, Línea 91
    Error durante el descifrado.
    Mens 15185, Nivel 16, Estado 1, Procedimiento sp_addlinkedsrvlogin, Línea 98
    No hay ningún usuario remoto 'sa' asignado al usuario local 'sa' desde el servidor remoto 'D1MAPPHIDPS'.

    jueves, 15 de septiembre de 2011 7:31
  • Buscando un poco he encontrado el hilo http://www.sqlservercentral.com/Forums/Topic828214-146-1.aspx que trata justamente tu mismo problema y la solución que finalmente parece que funcionó fue regenerar la Service Master Key:

    USE master
    GO
    ALTER SERVICE MASTER KEY FORCE REGENERATE
    


    jueves, 15 de septiembre de 2011 7:38
  • Muchas gracias Carlos a ti también por tu respuesta (y a Alberto, que no se las había dado antes!!)

    Si, tiene toda la pinta de que ejecutando ese código se solucionará mi problema, lo que pasa es que me da miedo porque no sé exactamente lo que es ni si me puede generar otros problemas. Los servidores que necesito utilizar son bastante "delicados" y no es plan de cargármelos.

    ¿Qué hace esa instrucción exactamente? ¿Puede generar "consecuencias secundarias"? He leído que sirve para lo siguiente (pero no entiendo exactamente lo que es):

    La instrucción ALTER SERVICE MASTER KEY se utiliza para cambiar una clave principal de servicio que ya existe. Si ya no existe la clave principal del servicio, el servidor devuelve un error. La opción REGENERAR indica SQL Server para volver a crear la clave principal del servicio.

    jueves, 15 de septiembre de 2011 8:05
  • Si no usas cosas como credenciales o no tienes más servidores vinculados (en ese caso tendrías que volver a introducir la contraseña) o, en definitiva, no tienes características relacionadas con la encriptación, no debería afectarte
    jueves, 15 de septiembre de 2011 8:15
  • Bueno, pues he ejecutado las siguientes instrucciones:

    USE MASTER ALTER SERVICE MASTER KEY FORCE REGENERATE

    EXEC sp_addlinkedserver @server='servidorremoto',@srvproduct='SQL Server'

    EXEC sp_addlinkedsrvlogin @rmtsrvname='servidorremoto',@useself='False',@locallogin='sa',@rmtuser='sa',@rmtpassword='*****'

    Y todas se han ejecutado correctamente. Me ha creado el servidor vinculado, pero me sigo sin poder conectar:

    No se pudo establecer la conexión de prueba al servidor vinculado.

    ------------------------------
    INFORMACIÓN ADICIONAL:

    Excepción al ejecutar una instrucción o un proceso por lotes Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

    ------------------------------

    Proveedor de canalizaciones con nombre: No se pudo abrir una conexión con SQL Server [53].
    El proveedor OLE DB "SQLNCLI" para el servidor vinculado "xxx.xx.xx.xx" devolvió el mensaje "Ha finalizado el tiempo de espera de inicio de sesión".
    El proveedor OLE DB "SQLNCLI" para el servidor vinculado "xxx.xx.xx.xx" devolvió el mensaje "Error al establecer conexión con el servidor. Cuando se conecta con SQL Server 2005, la configuración predeterminada de SQL Server no permite conexiones remotas.". (Microsoft SQL Server, Error: 53)

    Parece que el servidor que quiero vincular no admite conexiones remotas y tendría que configurarlo tal y como aparece aquí: http://support.microsoft.com/kb/914277/es. Pero es un servidor de otra empresa, al que no voy a poder acceder para administrar, así que aquí se acaba este camino. Lo que intentaré será hacer la vinculación al revés.

    Muchísimas gracias a todos por vuestras respuestas, un saludo,

    Jonathan

     

     


    jueves, 15 de septiembre de 2011 9:33
  • Hola.

    Vaya, lo más obvio, que no puedes establecer conexión entre ambos servidores (aunque tú pudieras conectar a ambos, puede que entre sí exista un firewall, por ejemplo). Para verificar esa conexión, lo más fácil es que crees una UDL en el servidor (conectándote al mismo por Terminal Server, por ejemplo) y desde ahí intentes conectar, usando el mismo login y password.

    Una vez solventes la cuestión de conectividad, podrás abordar la del servidor vinculado.


    Alberto López Grande
    SQL Server MVP
    Visita mi blog en http://qwalgrande.blogspot.es/ Sígueme en twitter en http://twitter.com/qwalgrande

    jueves, 15 de septiembre de 2011 9:52
    Moderador
  • Alberto, creo que en este caso el problema que tenía el OP era previo a la conectividad. Efectivamente debería haber probado que existía comunicación con dicho servidor previamente, pero el problema que tenía parece que ya ha sido resuelto. De hecho, él mismo dice que "aquí se acaba este camino" porque el servidor es de otra empresa

    jueves, 15 de septiembre de 2011 10:12
  • Hola otra vez,

    Efectivamente, no hay conectividad entre ambos servidores, aunque sí lo pareciera, me acaban de abrir los ojos.

    Me explico, mi PC está en dos dominios a la vez (mediante dos IPs, cada servidor pertenece a uno diferente) por eso desde mi PC si que me puedo conectar a cualquiera de los dos con el SQL Server Management Studio 2008, pero entre ellos dos es imposible porque pertenecen a dos redes diferentes.

    Siento haberos hecho perder el tiempo!! Mil gracias,

    Jonathan

    jueves, 15 de septiembre de 2011 13:01