Solución:
La tarea “Importar datos” de SQL Server Management Studio (haga clic con el botón derecho en el nombre de la base de datos y luego en las tareas) hará la mayor parte de esto por usted. Ejecútelo desde la base de datos en la que desea copiar los datos.
Si las tablas no existen, las creará por usted, pero probablemente tendrá que volver a crear los índices y demás. Si las tablas existen, agregará los nuevos datos de forma predeterminada, pero puede ajustar eso (editar asignaciones) para eliminar todos los datos existentes.
Lo uso todo el tiempo y funciona bastante bien.
¿En SQL Server? y en el mismo servidor de base de datos? Utilice nombres de tres partes.
INSERT INTO bar..tblFoobar( *fieldlist* )
SELECT *fieldlist* FROM foo..tblFoobar
Esto solo mueve los datos. Si desea mover la definición de la tabla (y otros atributos como permisos e índices), tendrá que hacer otra cosa.
Esto debería funcionar:
SELECT *
INTO DestinationDB..MyDestinationTable
FROM SourceDB..MySourceTable
Va a no copiar restricciones, valores predeterminados o índices. La mesa creada no tener un índice agrupado.
Alternativamente, podría:
INSERT INTO DestinationDB..MyDestinationTable
SELECT * FROM SourceDB..MySourceTable
Si su tabla de destino existe y está vacía.