Las copias de seguridad remotas de SQL Server son complicadas. Explicaremos por qué y mostraremos todas las opciones disponibles para hacer las copias de seguridad de todos modos.
El servidor SQL remoto es un servidor en el que tiene acceso limitado al sistema de archivos del servidor, como en un entorno de alojamiento compartido.
Local SQL Server es un servidor en el que tiene acceso completo al sistema de archivos, como un servidor local al que puede acceder físicamente o un servidor dedicado/virtual del que tiene control total.
¿Cuál es el problema con las copias de seguridad remotas de SQL Server?
El principal problema con los servidores SQL remotos es que puede ejecutar scripts SQL, incluido el comando de COPIA DE SEGURIDAD DE la BASE DE DATOS, pero acceder al resultado *.el archivo bak es problemático. El *.el archivo bak se coloca en algún lugar de la unidad local de ese servidor SQL. Y si no accede a esa ubicación, no puede copiar el archivo de copia de seguridad para su procesamiento posterior, como compresión, cifrado, almacenamiento, etc. (más detalles sobre lo que significa la automatización de copias de seguridad SQL), sus opciones se limitan a crear un archivo de script.
BAK ( * .bak) archivo vs Script ( * .archivo sql) para copias de seguridad de SQL Server
Los archivos BAK son las copias de seguridad creadas con el comando de BASE DE DATOS DE COPIA de SEGURIDAD estándar de Microsoft (o a través de SSMS o SQLBackupAndFTP). Por lo general, reciben *.extensión bak. Si tiene la opción de crear*.archivos bak: siempre lo prefieren a las alternativas porque le permite almacenar no solo copias de seguridad completas, sino también Diferenciales y de Registros de Transacciones. Y el formato es el más común y no propietario para ningún tercero. Puede restaurar desde ( * .bak) utilizando el comando estándar de BASE DE DATOS de restauración y muchas herramientas de terceros.
Script ( * .sql) es básicamente un conjunto de comandos SQL que recrean los objetos de la base de datos e insertan los datos en las tablas. El beneficio de usar un archivo de script es que la mayoría de los entornos de alojamiento le permiten cargar archivos de script y ejecutarlos mediante un panel de control de administración de alojamiento. A continuación, puede restaurar una base de datos sin necesidad de que el hoster instale o configure nada.
Sin embargo Script ( * .el método sql) tiene las siguientes limitaciones:
- Se tarda mucho más en generar un script que en crear un tipo BAK estándar de copia de seguridad de SQL Server
- Dicho script ocupa más espacio ya que es una representación textual (no binaria) de su base de datos, aunque es mucho más compresible que una copia de seguridad binaria.
- Restaurar una base de datos desde un script lleva más tiempo que desde una copia de seguridad normal
- A diferencia de las copias de seguridad estándar, los scripts no contienen información de registro de transacciones, por lo que no puede aplicar la recuperación en un momento dado
- Los scripts no siempre tienen en cuenta las dependencias, por lo que puede tener problemas durante la recreación de la base de datos
Copias de seguridad locales de SQL Server
Local La copia de seguridad de SQL Server está bien documentada y no entraremos en detalles aquí. Básicamente, ejecuta el comando DE BASE DE DATOS DE COPIA DE SEGURIDAD, usa SQL Server Management Studio o herramientas de terceros. Esto crea un *.archivo bak en el sistema de archivos local del servidor. Luego, por lo general, comprime el archivo, lo encripta, lo carga a una unidad de red, FTP o una nube, etc. Puede crear sus scripts personalizados para hacerlo o obtenerlo todo en un producto como Sqlbackup y FTP.
Copias de seguridad remotas de SQL Server a un*.archivo bak en el recurso compartido de red
Si su servidor SQL remoto está en la misma red que usted y ambos SQL server y tiene acceso al mismo recurso compartido de red (como \\nombre_servidor\ruta), en el servidor SQL puede hacer una copia de seguridad en esta ubicación con el comando:
Nombre DE base DE DATOS DE COPIA DE SEGURIDAD EN DISK = N’\\nombre de servidor\ruta\nombre de base de datos.BAK ‘
Y desde su propia computadora podrá acceder a la misma ubicación, tome el *.archivo bak y haz lo que quieras con él.
Puede escribir sus propios scripts para automatizarlo o hacer copias de seguridad de su servidor SQL de red utilizando Sqlbackup y FTP.
El beneficio de las copias de seguridad en la ruta UNC es que obtiene la copia de seguridad en el mismo codiciado *.formato bak. El inconveniente está básicamente relacionado con la necesidad de configurar correctamente los derechos de acceso. Visita el enlace de arriba para obtener más información sobre los permisos.
Copias de seguridad remotas de SQL Server en un script ( * .archivo sql)
Un script SQL Server generado ( * .el archivo de copia de seguridad sql) contiene la información necesaria para volver a crear la base de datos en un equipo remoto. El script incluye comandos para volver a crear el esquema de base de datos (tablas, vistas, procedimientos almacenados, disparadores, catálogos de texto completo, roles, reglas, etc.) y los datos. Tiene varias opciones para generar un script (*.sql) archivo de copia de seguridad
Base de datos de scripts con Sqlbackup y FTP
Este es, con mucho, el método más simple para hacer copias de seguridad de sus bases de datos remotas. Simplemente seleccione «Servidor SQL remoto» como un tipo de servidor establecer credenciales de inicio de sesión:
A continuación, configure la compresión, el cifrado, dónde enviar copias de seguridad y dónde enviar notificaciones por correo electrónico. Vea más detalles en Cómo hacer una copia de seguridad de la base de datos remota de SQL Server utilizando SQLBackupAndFTP
Base de datos de scripts con SQL Server Management Studio (SSMS)
Tenga en cuenta que esto funciona como una «copia de seguridad» ad hoc, pero no puede programar la creación de scripts de SSMS. Para generar un script de base de datos con SSM:
- Abra su SSMS
- Conéctese a su servidor SQL remoto
- Haga clic con el botón derecho en la base de datos de la que desea hacer una copia de seguridad y seleccione Tareas-> Generar scripts. Esto abre un Asistente
- Pulse Siguiente en la pantalla de introducción
- Deje seleccionado el «Script de base de datos completa y objetos de base de datos» predeterminado y pulse Siguiente
- Haga clic en el botón Avanzado y cambie » Tipos de datos a script «de» Solo esquema «a»Esquema y datos». Pulse Aceptar
- Seleccione la opción «Guardar en una nueva ventana de consulta» y pulse Siguiente, Siguiente y Finalizar
Copie el script en su archivo local y almacénelo o ejecútelo donde sea necesario.
Otras opciones para la copia de seguridad remota de SQL Server
Si usar word «copia de seguridad» en lo que respecta a la creación de scripts fue bastante complicado, las opciones discutidas en esta sección están aún más lejos de lo que se considera una «copia de seguridad de base de datos». Aún así, le permite obtener alguna copia de sus datos, por eso revisaremos estas opciones también
Mover datos con el Asistente de importación y exportación de SQL Server en SSMS
Puede usar el Asistente de importación y exportación de SQL Server para copiar los datos del servidor SQL remoto a un servidor SQL local. Tenga en cuenta que NO copiará todos los objetos de la base de datos, sino solo los datos. No podemos imaginar usarlo como un método de respaldo principal. De todos modos aquí las instrucciones:
- Abra su SSMS
- Conéctese a su servidor SQL local
- Haga clic con el botón derecho en la base de datos en la que desea restaurar las copias de seguridad y seleccione Tareas-> Importar datos. Esto abre un Asistente
- Elija «Cliente nativo de SQL Server» como fuente de datos y su servidor SQL remoto como nombre de servidor.
- Seleccione la base de datos desde la que copiar los datos. Siguiente.
- Elija «Cliente nativo de SQL Server» como fuente de datos y su servidor SQL local como nombre de servidor.
- Seleccione la base de datos a la que copiar los datos. Siguiente.
- Seleccione las tablas que desea copiar. Siguiente, Siguiente, Terminar