Copiar o mover bases de datos es una de las tareas más comunes para los profesionales de datos que se ocupan regularmente de implementar scripts o nuevas soluciones en diferentes entornos. Con SQL Server, tenemos varias formas de lograr esto de forma nativa sin usar herramientas de terceros.
Soluciones Nativas dentro de SQL Server
Aquí hay algunas formas en que podemos realizar esta tarea de forma nativa en SQL Server:
- Dentro de SQL Server, normalmente realizamos copias de seguridad completas de la base de datos de origen, la copiamos en el servidor de destino y luego la restauramos. Esto podría convertirse en una tarea desafiante para los novatos o para los profesionales que no están en el rol de DBA. A menos que tenga una solución de secuencias de comandos adecuada, es posible que tenga problemas y tenga dificultades para lograrlo mientras trabaja con enormes bases de datos.
- Otra opción es el método separar\adjuntar. Este método se usa popularmente, pero nuevamente debe tener cuidado al trabajar con bases de datos grandes o con bases de datos que incluyen una cantidad de datos o archivos de registro. Además, la base de datos de origen se desconectaría al usar este enfoque. A menos que sea un administrador de bases de datos con experiencia, aún puede terminar teniendo problemas al manejar bases de datos grandes.
Hay otras opciones que se pueden usar, como usar el asistente de copia de base de datos o el asistente de importación/exportación de datos con el fin de importar/exportar datos. También debe asegurarse de que los inicios de sesión y los permisos del servidor de origen se migren correctamente al servidor de destino; de lo contrario, los usuarios de la aplicación pueden tener problemas para conectarse correctamente a la base de datos.
Utilizar dbForge Studio para SQL Server para copiar o mover bases de datos de una instancia a otra o de un servidor a otro
Al llegar al software de terceros, dbForge Studio de Devart para SQL Server tiene una función genial integrada en el producto para realizar la copia o movimiento de bases de datos en unos pocos pasos simples. Revisaremos el proceso con una demostración en este artículo.
La versión de prueba dura un mes y le da tiempo suficiente para probar las otras funcionalidades integradas en el producto. Para esta demostración se utiliza la versión de prueba Enterprise 5.5.
Una vez que ejecute dbForge Studio, obtendrá esta pantalla para actualizar los detalles de conexión de la base de datos. Con esto, podrá conectarse a su instancia de SQL Server.
Para realizar conexiones adicionales a otras instancias de SQL, haga clic en el icono que abrirá la ventana para una nueva conexión a la base de datos.
A continuación, puede ver que ya hice una conexión a una instancia de SQL existente.
Después de conectarse a sus instancias de SQL Server, puede ver las bases de datos que planea copiar o mover entre las instancias. En esta demostración, vamos a copiar la base de datos test desde la instancia de SQL:Boulcott a Boulcott\INST2.
Para copiar la prueba base de datos a INST2, vaya a Database Sync en la pestaña principal y haga clic en Copiar base de datos .
Se abre la ventana Copiar base de datos. Allí puede ingresar los detalles de los servidores de origen y de destino. En esta demostración, estamos copiando la base de datos en instancias que están en la misma máquina. También puede usar la herramienta dbForge para copiar bases de datos en diferentes servidores. Ingrese los detalles del servidor como se muestra, asegúrese de que la conexión sea exitosa y luego haga clic en Siguiente .
Una vez hecho esto, aparece la lista de bases de datos disponibles en el servidor de origen. Seleccione la base de datos en la que planea copiar. En nuestro ejemplo, es la prueba base de datos. Seleccione Copiar casilla de verificación de opción y haga clic en Siguiente . Aquí he seleccionado solo una base de datos para copiar. Pero la herramienta no se limita a una base de datos a la vez, ya que podemos seleccionar varias bases de datos para copiar o mover al mismo tiempo.
Seleccione opciones para la ubicación de la base de datos de destino
Como puede ver, las ubicaciones de los archivos de registro y datos para la base de datos de destino se pueden cambiar a las que planeaba usar. Los valores se generan automáticamente, pero se pueden modificar fácilmente. El nombre de la base de datos de destino también se puede cambiar.
Haga clic en Siguiente . Aparece la ventana Configuración de transferencia. Debe asegurarse de que la cuenta del Agente SQL Server tenga privilegios suficientes para realizar la operación de copia. Revise esta sección detenidamente, ya que puede generar problemas si la cuenta del Agente SQL Server no tiene los permisos necesarios. En mi caso, como las instancias están dentro del mismo servidor, no se requiere un directorio de carpetas compartidas. Sin embargo, se requiere un directorio de carpetas compartidas con permisos suficientes para la cuenta del Agente SQL si tiene que copiar la base de datos en instancias de SQL en diferentes servidores. Una vez que haya terminado con la revisión, haga clic en Siguiente .
En la pestaña Copiar inicios de sesión, puede decidir la opción correcta según sus requisitos. De forma predeterminada, Copiar todos los inicios de sesión utilizados por las bases de datos seleccionadas está habilitado. Haga la elección adecuada en su caso, revise y haga clic en Siguiente .
Ejecute el proceso de copia con dbForge Studio
La siguiente captura de pantalla muestra dónde puede iniciar el proceso de ejecución de la tarea de copia. Tenemos la opción de elegir los tipos de manejo de errores posibles durante el proceso de ejecución. De forma predeterminada, solicitar una acción al usuario es seleccionado. En esta demostración, también he habilitado la opción de escribir un informe en un archivo de registro que sería útil para hacer frente a cualquier tipo de errores. El registro de errores es bastante detallado y le brinda la razón de cualquier falla en el proceso en detalles. Una vez hecho esto, haga clic en Ejecutar opción que iniciará el proceso de ejecución.
Puede ver el progreso de la tarea de ejecución.
Finalización del proceso de copia
Una vez que se complete el proceso, verá esta notificación que confirma que el proceso de copia se completó.
Al hacer clic en Mostrar archivo de registro opción, puede ver los detalles de la ejecución del proceso y el estado de las tareas completadas. Puede realizar más operaciones de copia haciendo clic en Copiar más opción.
Comprobar la instancia SQL de destino
El siguiente paso sería conectarse a su instancia SQL de destino y validar que la base de datos se copia. En la instancia SQL de destino, está la prueba base de datos que se copió correctamente utilizando dbForge Studio para SQL Server.
Mover bases de datos de la instancia SQL de origen a la de destino
Anteriormente, pudimos copiar con éxito una base de datos del servidor de origen al servidor de destino. También podríamos usar esta herramienta y la demostración anterior si necesita mover bases de datos.
En la ventana Seleccionar bases de datos, seleccione Mover opción.
Básicamente, esto migraría las bases de datos del servidor de origen al servidor de destino. Simplemente siga los pasos descritos anteriormente. Había detenido intencionalmente el Agente SQL Server en el servidor de destino y me encontré con esta pantalla de error.
Al hacer clic en No , lo llevará a la opción de ver los archivos de registro.
El botón Mostrar archivo de registro... lo llevará al archivo de registro detallado donde se puede identificar el motivo real de la falla.
Aquí puede ver con precisión el motivo de la operación fallida. También verá que se crea un trabajo del Agente SQL en el servidor de destino durante la ejecución y se puede ver.
Este trabajo existe solo durante la duración del proceso de ejecución y se elimina una vez que se completa el proceso. Conéctese a las instancias de SQL de origen y de destino para confirmar que las bases de datos se han movido. La siguiente captura de pantalla confirma que las bases de datos 1 y 2 se movieron correctamente del servidor de origen al servidor de destino.
Copie las bases de datos de la instancia SQL de origen a la de destino y anule
Hasta ahora, hemos copiado y movido bases de datos del servidor de origen al de destino. Luego, realice un paso adicional para copiar y anular las bases de datos de WideWorldImporters.
Este proceso es similar a los pasos anteriores para copiar o mover bases de datos con solo un paso adicional para seleccionar anular opción.
Simplemente siga el resto de los pasos de manera similar a lo que se hizo anteriormente y el proceso tendrá éxito una vez que se complete. Para resumir, usando la Copiar base de datos opción en la herramienta dbForge Studio, podría realizar las siguientes funciones:
- Copiar bases de datos del servidor de origen al de destino
- Mover bases de datos del servidor de origen al de destino
- Copiar y anular bases de datos del servidor de origen al de destino
- Mover y anular bases de datos del servidor de origen al de destino
Conclusión
- Con esta demostración, ha visto la facilidad con la que se puede copiar una base de datos de una instancia de SQL a otra con muy poca intervención del usuario utilizando dbForge Studio
- Otra ventaja de esta herramienta es que se pueden copiar o mover múltiples bases de datos a través de diferentes instancias a la vez
- Se requiere muy poca experiencia técnica para realizar estas tareas, ya que la herramienta es fácil de usar y está basada en una GUI
- Esta herramienta puede ser bastante útil, especialmente si está implementando implementaciones rápidamente en diferentes entornos de servidor y si el tiempo es limitado
Herramienta útil:
dbForge Studio para SQL Server:potente IDE para la gestión, administración, desarrollo, generación de informes y análisis de datos de SQL Server.