2008-09-17 15 views
20

Necesito copiar aproximadamente 40 bases de datos de un servidor a otro. Las nuevas bases de datos deben tener nuevos nombres, pero todas las mismas tablas, datos e índices que las bases de datos originales. Hasta ahora he estado:¿Cuál es la mejor manera de copiar bases de datos completas en MS SQL Server?

1) la creación de cada base de datos de destino
2) usando el comando "Tasks->Export Data" para crear y llenar tablas para cada base de datos individual
3) reconstruir todos los índices para cada base de datos con una Script SQL

Solo tres pasos por base de datos, pero apostaría que hay una manera más fácil. ¿Algún experto de MS SQL Server tiene algún consejo?

Respuesta

43

Dado que está realizando esto en múltiples bases de datos, desea una solución con guiones simple, no una solución de apuntar y hacer clic.

Este es un script de copia de seguridad que sigo. Haz que funcione para un archivo y luego modifícalo para muchos.

(on source server...) 
BACKUP DATABASE Northwind 
    TO DISK = 'c:\Northwind.bak' 

(target server...) 
RESTORE FILELISTONLY 
    FROM DISK = 'c:\Northwind.bak' 

(look at the device names... and determine where you want the mdf and 
ldf files to go on this target server) 

RESTORE DATABASE TestDB 
    FROM DISK = 'c:\Northwind.bak' 
    WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf', 
    MOVE 'Northwind_log' TO 'c:\test\testdb.ldf' 
GO 
2

Copia de seguridad -> Restaurar es el más simple, si no para usar la replicación.

1

Haga una copia de seguridad de las bases de datos con la herramienta de copia de seguridad estándar de SQL en Enterprise Manager, luego, cuando restaure en el segundo servidor, puede especificar el nombre de la nueva base de datos.

Esta es la mejor manera de mantener el esquema en su totalidad.

0

utiliza copias de seguridad para restaurar las bases de datos al nuevo servidor con los nuevos nombres.

13

Quizás lo más fácil sea desmontar/volver a conectar. Haga clic derecho en el administrador del servidor en la base de datos, tareas -> separar. Luego copie los archivos MDF/LDF al nuevo servidor y luego vuelva a conectar haciendo clic en el ícono del servidor y tareas -> adjuntar. Le pedirá el archivo MDF; asegúrese de que el nombre, etc. sea exacto.

+0

Con mucho, el más fácil siempre y cuando tenga suficiente espacio en disco para copiar tanto mdf como ldf. –

+0

lo siento rob - creo que necesita un enfoque basado en guiones, no un enfoque de punto y clic. –

+0

Esta es una buena respuesta, pero creo que estoy de acuerdo con León, un guión es mejor. –

4

Con el fin de facilitar

  • servidor de parada/FCOPY/attach es probablemente más fácil.
  • copia de seguridad/restauración - se puede hacer desconecta bastante simple y fácil
  • transferencia de tareas DTS - necesita permisos de copia de archivos
  • replicación - más alejado simple de instalar

cosas en que pensar acerca de los permisos, usuarios y grupos en el servidor de destino esp. si estás transfiriendo o restaurando.

+0

Los permisos, los usuarios y los grupos son buenos puntos. Te daría un cambio de tendencia, pero no tengo la reputación ... –

+0

Sí, he tenido mis cifras quemadas transfiriendo la base de datos donde los miembros de la función eran inicios de sesión (no válidos) no registrados o miembros de dominio de otro dominio. – stephbu

0

Redgate SQL Compare y comparación de datos SQL. El paquete de comparación fue de lejos la mejor inversión para la que trabajé alguna vez. Mover contenido de e-training fue muy fácil.

4

Ya hay mejores respuestas, pero este es un 'también se ejecutó' porque es solo otra opción.

Por el bajo precio bajo de gratis se puede consultar el Microsoft SQL Server Database Publishing Wizard. Esta herramienta le permite programar el esquema, los datos o los datos y el esquema. Plus se puede ejecutar desde una interfaz de usuario o línea de comando < - piense en el proceso de CI.

+0

Así es como lo haría ... la herramienta es un salvavidas, ya que copia el esquema y los datos en un script, incluso para objetos blob – Doug

2

Si utiliza la solución de copia de seguridad/restauración es probable que tenga usuarios huérfanos, asegúrese de consultar this article <microsoft> para saber cómo solucionarlos.

Cuestiones relacionadas