2010-06-23 18 views
12

Quiero copiar datos de 1 tabla a otra y están en servidores diferentes.Servidor vinculado con autorización no válida

He configurado 2 servidores como servidores vinculados. En SQL Server Management Studio,

  • objetos de servidor de
    • Servidores derecho Haz Enlazados,
    • y luego Nuevo servidor vinculado.

me dio el servidor de conexión como mi SERVIDOR2 servir rname y tipo que SQLSERVER.

Ahora ejecutar la consulta:

Insert Into Server1.Database1.dbo..Table1 (Col1, Col2) 
    Select Col1, Col2 
     From Server2.Database2..dbo.Table2 

es tirar un mensaje de error,

El proveedor OLE DB "SQLNCLI" para el servidor vinculado "Server2" ha devuelto el mensaje de "autorización no válida especificación".

No tengo idea de dónde cambiar la autorización.

Respuesta

25

En SSMS, Objetos del servidor -> Servidores vinculados, haga clic con el botón derecho en SERVER2 y seleccione Propiedades.

En la ventana de propiedades, haga clic en "Seguridad" en el panel izquierdo.

En la sección etiquetada, "Para un inicio de sesión no definido en la lista anterior, las conexiones harán lo siguiente:", elija la última opción "Crear utilizando este contexto de seguridad:". Luego, especifique un nombre de usuario y contraseña para una cuenta en el Servidor2 con los permisos adecuados para la tarea que está tratando de lograr.

+0

Ahora el error es "Se especificó un esquema no válido o un catálogo no válido para el proveedor" SQLNCLI "para el servidor vinculado" CTRZSQL ". Todavía no se pueden copiar los datos .. – satya

+0

Si la sintaxis en su publicación original es precisa y no solo un error tipográfico, entonces tiene dos períodos entre "Database2" y "DBO" donde solo debería tener uno: Server2.Database2.dbo.Table2 –

+0

Lo he modificado para Insertarlo en SERVER1.DB1.TBL1 (F1) Seleccione F1 de SERVER2.DB2.TBL2. Luego está arrojando un mensaje de error Nombre de objeto inválido SERVER2.DB2.TBL2. Algo que es extraño para mí, cuando me preguntaron de esta manera es copiar datos de otro Servidor-> Db-> TBL. Insertar en TBL1 (F1) Seleccionar * de openquery (LINKEDSEREVERNAME, 'Seleccionar concesión de DBNAME..TBLNAME') ¿Puedes explicarme por qué? – satya

Cuestiones relacionadas