Tengo una base de datos llamada foo y una base de datos llamada bar. Tengo una tabla en foo llamada tblFoobar que quiero mover (datos y todo) a la barra de base de datos desde la base de datos foo. ¿Cuál es la instrucción SQL para hacer esto?
sql
sql-server
copy
migrate
database-table
RyanKeeter
fuente
fuente
La tarea "Importar datos" de SQL Server Management Studio (haga clic con el botón derecho en el nombre de la base de datos, luego 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á para usted, pero probablemente tendrá que recrear cualquier índice y demás. Si las tablas existen, agregará los datos nuevos de forma predeterminada, pero puede ajustarlos (editar asignaciones) para eliminar todos los datos existentes.
Lo uso todo el tiempo y funciona bastante bien.
fuente
WHERE
condición usando la tarea Importar datos? No pude encontrar una manera de hacerlo.identity
y lasforeign key
referencias se eliminan en la base de datos de destino, ¿alguna solución?Esto debería funcionar:
Será no copiar constaints, incumplimientos o índices. La tabla creada no tendrá un índice agrupado.
Alternativamente, usted podría:
Si su tabla de destino existe y está vacía.
fuente
INSERT INTO...
) funcionó para mí en Oracle.Si solo es una tabla, entonces todo lo que necesita hacer es
Una cosa que tendrá que considerar es otras actualizaciones, como la migración de otros objetos en el futuro. Tenga en cuenta que sus tablas de origen y destino no tienen el mismo nombre. Esto significa que también tendrá que hacer cambios si depende de objetos como vistas, procedimientos almacenados y otros.
Con uno o varios objetos puede ir manualmente sin problemas. Sin embargo, cuando hay más que unas pocas actualizaciones, las herramientas de comparación de terceros son muy útiles. En este momento estoy usando ApexSQL Diff para migraciones de esquemas, pero no puedes equivocarte con ninguna otra herramienta.
fuente
Guión del
create table
Management Studio, ejecute esa secuencia de comandos en la barra para crear la tabla. (Haga clic con el botón derecho en la tabla en el explorador de objetos, la tabla de scripts como, crear para ...)INSERT bar.[schema].table SELECT * FROM foo.[schema].table
fuente
SET IDENTITY_INSERT TblName ON
en ese caso.También puede usar el Asistente para generar scripts de SQL Server para ayudar a guiar la creación de scripts de SQL que pueden hacer lo siguiente:
Buen ejemplo de flujo de trabajo para SQL Server 2008 con capturas de pantalla que se muestran aquí .
fuente
Puede ir de esta manera: (un ejemplo general)
Además, si necesita generar los nombres de columna y poner una cláusula de inserción, use:
Copie el resultado y péguelo en la ventana de consulta para representar los nombres de columna de su tabla e incluso esto también excluirá la columna de identidad:
Recuerde que el script para copiar filas funcionará si las bases de datos pertenecen a la misma ubicación.
Puedes probar esto.
El nombre del servidor es opcional si ambos DB están en el mismo servidor.
fuente
Si hay una tabla existente y queremos copiar solo datos, podemos probar esta consulta.
insertar en Destination_Existing_Tbl seleccione col1, col2 FROM Source_Tbl
fuente
Copiar datos
fuente