Herramienta de consola para administrar configuraciones, crear backups, restaurar bases de datos de SQL Server y limpiar logs para liberar espacio.
La aplicación guarda la configuración en SQLite, ejecuta sqlcmd para hablar con SQL Server y puede trabajar con rutas locales o con backups dentro de contenedores Docker.
uvsqlcmddisponible en el sistema
- Instala
uv:
winget install --id=astral-sh.uv -e- Instala la herramienta:
uv tool install mssql-backups- Verifica que esté disponible:
mssql-backups --helpLa herramienta necesita sqlcmd para ejecutar consultas y realizar backups/restauraciones.
Instálalo con:
winget install sqlcmdEn Linux debes instalar los paquetes oficiales de Microsoft para sqlcmd.
Recomendación general:
- Agrega el repositorio oficial de Microsoft para tu distribución.
- Instala
mssql-tools18junto conunixODBC. - Añade el binario al
PATHde tu shell.
Ejemplo común en Bash:
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrcSi usas Ubuntu o Debian, sigue la guía oficial de Microsoft para tu versión e instala también unixodbc-dev.
Los comandos principales de la herramienta son:
| Comando | Descripción |
|---|---|
config |
Administrar configuraciones guardadas en cache |
restore |
Restaurar bases de datos usando backups guardados |
cache |
Crear o limpiar la caché local |
db |
Probar conexiones, listar bases de datos y reducir logs |
bak |
Crear backups de las bases de datos configuradas |
Para obtener ayuda de cualquier comando o subcomando, usa --help.
Muchos comandos también son interactivos: si omites un parámetro, la herramienta te lo pedirá en pantalla.
mssql-backups --help
mssql-backups config --help
mssql-backups restore --help
mssql-backups cache --help
mssql-backups db --help
mssql-backups bak --helpLa configuración se guarda en SQLite dentro de ~/.mssql-bakups/config.db. Esto permite persistir las configuraciones entre sesiones para evitar tener que configurar todo de nuevo.
Usa config conn add para guardar la conexión a SQL Server.
mssql-backups config conn addEse comando te pedirá de forma interactiva:
- nombre de la conexión
- host
- puerto
- usuario
- contraseña
También puedes consultar o eliminar conexiones con:
mssql-backups config conn ls
mssql-backups config conn rmUsa config bak add para guardar la ruta de backups y la ruta de datos.
mssql-backups config bak addEse comando te pedirá:
- nombre de la configuración
- descripción
backup_dirdata_dir- si usa contenedor Docker
- nombre del contenedor, si corresponde
Si el backup está dentro de un contenedor, las rutas deben ser rutas válidas dentro del contenedor.
También puedes listar o eliminar configuraciones con:
mssql-backups config bak ls
mssql-backups config bak rmUsa config db add para registrar una o varias bases de datos dentro de una configuración de backup.
mssql-backups config db addPuedes ingresar varias bases separadas por comas.
También puedes listar o eliminar asociaciones con:
mssql-backups config db ls
mssql-backups config db rm- Inicializa la caché con
cache init. - Guarda la conexión con
config conn add. - Guarda la configuración de backup con
config bak add. - Registra las bases de datos con
config db add. - Verifica la conexión con
db test --conn mi-conexion. - Crea backups con
bak start --conn mi-conexion --name mi-backup. - Si necesitas restaurar, usa
restore files --conn mi-conexion --bak mi-backupy luegorestore begin --conn mi-conexion --bak mi-backup.
mssql-backups bak start --conn mi-conexion --name mi-backupEste comando crea un backup por cada base de datos configurada y guarda los archivos en una carpeta con fecha dentro de backup_dir.
mssql-backups restore files --conn mi-conexion --bak mi-backup
mssql-backups restore begin --conn mi-conexion --bak mi-backuprestore fileslista los archivos.bakdisponibles.restore beginejecuta la restauración.
mssql-backups db test --conn mi-conexion
mssql-backups db ls --conn mi-conexion
mssql-backups db logs reduce --conn mi-conexion --bak mi-backup --threshold 1GB --target 100MBdb testvalida la conexión.db lslista las bases de datos disponibles.db logs reducereduce archivos.ldfque superen el umbral configurado.
mssql-backups cache init
mssql-backups cache cleancache initcrea la caché local.cache cleanla elimina.
- Antes de usar los comandos que dependen de la configuración guardada, inicializa la caché con
mssql-backups cache init. - Para trabajar con contenedores, Docker debe estar instalado y en ejecución.
- Asegúrate de que SQL Server pueda leer los archivos
.bakcuando uses rutas locales. - Si un comando no te queda claro, usa siempre
--helpen el comando o subcomando correspondiente.