Seleccione en la declaración donde la fuente es otra base de datos

sql sqlbulkcopy sql-server sql-server-2008 sql-server-2012

Pregunta

¿Cómo copiar datos de un DB en otro DB con la misma estructura de tabla y mantener las identidades clave?

Uso Sql Server 2012 "Denali" y quiero copiar algunos datos de un DB de Sql Server 2008. Las tablas que tengo son exactamente iguales, pero quiero que los datos de la base de datos anterior ingresen a la nueva base de datos "Denali". Las bases de datos están en diferentes servidores.

Así que quiero algo como

USE newDB;
GO
SELECT *
INTO newTable
FROM OldDb.oldTable WITH (KEEPIDENTITY);
GO

¿Alguien tiene una sugerencia para hacer esto viable?

Respuesta aceptada

Configure un servidor vinculado y haga referencia a él en su consulta. Es posible que también IDENTITY_INSERT usar IDENTITY_INSERT .

Los componentes SSIS integrados en SSMS también pueden cargar datos de diferentes fuentes (XML, archivo plano o un servidor local / remoto).


Respuesta popular

Tuvo este problema hoy y no funcionó :( Debe usar nombres completos de las bases de datos si ambos DB están en el mismo servidor. No olvide el esquema .dbo .

Select  *
INTO [NEW DB].dbo.Lab_Tests
from [OLD DB].dbo.Lab_Tests


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué