Definitivamente deberías poder crear algo así.
Una parte sería un T-SQL CREATE BACKUP
script como .sql
y ejecútelo desde un lote estándar de Windows (*.bat
) o comando (*.cmd
) archivo usando el sqlcmd
herramienta de línea de comandos.
Eso sería algo como esto:
copia de seguridad.sql
BACKUP DATABASE YourDatabase
TO DISK = 'Z:\Backup\YourDatabase.bak'
WITH FORMAT;
La segunda parte sería un archivo .sql con un T-SQL RESTORE
script, básicamente leyendo los datos de una ubicación determinada en el disco y restaurándolos a esa instancia de SQL Server allí.
restaurar.sql
RESTORE DATABASE YourDatabase
FROM AdventureWorks2008R2Backups
WITH
MOVE 'YourDatabase_Data' TO 'C:\MSSQL\Data\YourDatabase.mdf',
MOVE 'YourDatabase_Log' TO 'C:\MSSQL\Data\YourDatabase_Log.ldf';
GO
Por supuesto, debe adaptar esos nombres y rutas a sus propios requisitos reales, pero eso solo debería darle una pista sobre cómo comenzar con este esfuerzo.
Para ejecutar uno de esos scripts .sql usando sqlcmd
, necesitas algo como:
sqlcmd -S (name of server) -U (login) -P (password) -I (name of script file)
por ejemplo
sqlcmd -S (local) -U someuser -P top$secret -I backup.sql
Recursos:
- Cómo crear una copia de seguridad completa de la base de datos
- Comando T-SQL RESTORE
- utilidad sqlcmd