unir tablas right left inner full ejemplos consultas con sql sql-server tsql linked-server cross-server

tablas - Servidor cruzado SQL



subquery sql server ejemplos (8)

¿Estaría transfiriendo todo el contenido de la base de datos de un servidor a otro o solo algunos datos de un par de tablas?

Para ambas opciones, SSIS haría el trabajo, especialmente si planea realizar la transferencia de forma periódica.

Si simplemente desea copiar algunos datos de 1 o 2 tablas y prefiere hacerlo utilizando TSQL en SQL Management Studio, entonces puede usar el servidor vinculado como lo sugirió el dispositivo pelser.

  1. Configure el servidor de la base de datos de origen como un servidor vinculado
  2. Use la siguiente sintaxis para acceder a los datos

select columnName1, columnName2, etc from serverName.databaseName.schemaName.tableName

Quiero transferir datos de la base de datos de un servidor a la base de datos de otro servidor. Las bases de datos están en un servidor mssql 2005 diferente. La replicación probablemente no sea una opción ya que la base de datos de destino se genera desde cero en un [intervalo de tiempo].

Preferiblemente, haría algo así como

insert * from db1/table1 into db2/table2 where rule1 = true

Es obvio que las credenciales de conexión irían en algún lugar en este script.


¿Puedes usar los Servicios de Transformación de Datos para hacer el trabajo? Esto proporciona todo tipo de herramientas unidas para hacer este tipo de cosas.

Puede descargar el paquete de características de SQL Server 2005 desde el sitio web de Microsoft aquí


¿Son SQL Server Integration Services (SSIS) una opción? Si es así, usaría eso.


Bueno, no estoy de acuerdo con tu comentario sobre la replicación. Puede iniciar una replicación creando una base de datos desde cero, y puede controlar si las actualizaciones se realizarán actualizando la base de datos de clientes disponible o simplemente recreando la base de datos.

La replicación automatizada facilitará su trabajo mediante la administración automática de claves y relaciones.

Creo que lo más fácil es comenzar una replicación de instantáneas a través de MSSQL Server Studio, obtener los scripts correspondientes de T-SQL (es decir, las instrucciones T-SQL correspondientes para publicaciones y suscripciones) y registrar estos scripts como parte de un trabajo en la lista de trabajos del Agente SQL o como un trabajo de replicación en la carpeta de replicaciones.


Creo que lo que quieres hacer es crear un servidor vinculado según este artículo msdn. A continuación, seleccione usando un nombre de objeto de 4 partes, por ejemplo:

Select * From ServerName.DbName.SchemaName.TableName


Podría ir a la ruta del servidor vinculado.

simplemente no puede usar la selección * en lo que tiene que hacer una inserción en seleccionar.

Evitaría la replicación si no tienes experiencia, ya que puede ser difícil de reparar si se rompe y puede ser propenso a otros problemas si no se gestiona correctamente.

Mantenlo simple especialmente si las bases de datos son pequeñas.


Puede usar Abrir origen de datos como este:

EXEC sp_configure ''show advanced options'', 1 GO RECONFIGURE GO EXEC sp_configure ''Ad Hoc Distributed Queries'', 1 GO RECONFIGURE GO SELECT * FROM OPENDATASOURCE(''SQLOLEDB'', ''Data Source=<Ip Of Your Server>; User ID=<SQL User Name>;Password=<SQL password>'').<DataBase name>.<SchemaName>.<Table Or View Name> Go


CREATE VIEW newR1 AS SELECT * from OPENQUERY ([INSTANCE_NAME], ''select * from DbName.SchemaName.TableName'')