He sido demasiado laxo al realizar copias de seguridad de bases de datos en nuestros servidores internos.
¿Existe un programa de línea de comandos simple que pueda usar para hacer una copia de seguridad de ciertas bases de datos en SQL Server 2005? ¿O hay un VBScript simple?
sql-server
command-line
scripting
backup
Frank Krueger
fuente
fuente
Respuestas:
Hacer copias de seguridad de una base de datos única de la línea de comandos, el uso osql o sqlcmd .
Usted también querrá leer la documentación sobre BACKUP y RESTORE y procedimientos generales .
fuente
WITH FORMAT
formatea el medio de almacenamiento: " La opción FORMAT invalida todo el contenido del medio, ignorando cualquier contenido existente " . Asegúrate de que esto es lo que quieres.osql.exe
estaba enC:\Program Files\Microsoft SQL Server\140\Tools\Binn\OSQL.EXE
Yo uso ExpressMaint .
Para hacer una copia de seguridad de todas las bases de datos de usuarios, hago, por ejemplo:
fuente
Programe lo siguiente para respaldar todas las bases de datos:
También hay más detalles en mi blog: cómo automatizar las copias de seguridad de SQL Server Express .
fuente
Encontré esto en una página de soporte de Microsoft http://support.microsoft.com/kb/2019698 .
¡Funciona genial! Y dado que vino de Microsoft, siento que es bastante legítimo.
Básicamente hay dos pasos.
Programe la copia de seguridad desde su programador de tareas. Es posible que desee colocar primero en un archivo .bat o .cmd y luego programar ese archivo.
Obviamente, reemplace YOUR_SERVER_NAME con el nombre de su computadora u opcionalmente intente. \ SQLEXPRESS y asegúrese de que la carpeta de respaldo exista. En este caso, está intentando ponerlo en c: \ SQL_Backup
fuente
Puede utilizar la aplicación de respaldo de ApexSQL. Aunque es una aplicación GUI, todas sus funciones son compatibles con CLI. Es posible realizar operaciones de respaldo de una sola vez o crear un trabajo que respalde las bases de datos especificadas de forma regular. Puede consultar las reglas de cambio y se muestran en los artículos:
fuente
Estoy usando tsql en una infraestructura Linux / UNIX para acceder a las bases de datos MSSQL. Aquí hay un script de shell simple para volcar una tabla en un archivo:
fuente
Eventual si no tiene una conexión confiable como declara el conmutador –E
Utilice la siguiente línea de comando
"[program dir]\[sql server version]\Tools\Binn\osql.exe" -Q "BACKUP DATABASE mydatabase TO DISK='C:\tmp\db.bak'" -S [server] –U [login id] -P [password]
Dónde
[dir de programa] es el directorio donde existe osql.exe
[versión del servidor sql] la versión 110 o 100 o 90 u 80 de su servidor SQL comienza con el número más grande
[servidor] su nombre de servidor o ip del servidor
[id de inicio de sesión] su nombre de inicio de sesión de usuario del servidor ms-sql
[contraseña] la contraseña de inicio de sesión requerida
fuente
C:\tmp
es la ruta en el servidor o local ?La respuesta de Microsoft para realizar copias de seguridad de todas las bases de datos de usuarios en SQL Express está aquí :
El proceso es: copiar, pegar y ejecutar su código (ver más abajo. He comentado algunas líneas extrañamente no comentadas en la parte superior) como una consulta en su servidor de base de datos. Eso significa que primero debe instalar SQL Server Management Studio (o conectarse a su servidor de base de datos con SSMS). Esta ejecución de código creará un procedimiento almacenado en su servidor de base de datos.
Cree un archivo por lotes para ejecutar el procedimiento almacenado, luego use el Programador de tareas para programar una ejecución periódica (por ejemplo, nocturna) de este archivo por lotes. Mi código (que funciona) es una versión ligeramente modificada de su primer ejemplo:
Esto funcionó para mí y me gusta. Cada vez que lo ejecuta, se crean nuevos archivos de respaldo. Deberá idear un método para eliminar archivos de respaldo antiguos de forma rutinaria. Ya tengo una rutina que hace ese tipo de cosas, así que guardaré copias de seguridad de un par de días en el disco (el tiempo suficiente para que se realicen copias de seguridad con mi rutina normal de copias de seguridad), luego las eliminaré. En otras palabras, siempre tendré a mano copias de seguridad para algunos días sin tener que restaurar desde mi sistema de copias de seguridad.
Pegaré el script de creación de procedimientos almacenados de Microsoft a continuación:
fuente
Podría usar un script VB que escribí exactamente para este propósito: https://github.com/ezrarieben/mssql-backup-vbs/
Programe una tarea en el "Programador de tareas" para ejecutar el script como desee y hará una copia de seguridad de toda la base de datos en un archivo BAK y lo guardará donde usted especifique.
fuente
fuente
Si puede encontrar los archivos DB ... "cp DBFiles backup /"
Casi seguro que no es aconsejable en la mayoría de los casos , pero es muy simple.
fuente