Sauvegarde automatique Microsoft SQL Server Express
MICROSOFT SQL SERVER Express est une version limitée de MICROSOFT SQL SERVER, mais dont l'intérêt est d'être une version gratuite et plainement utilisable. La première et grande limitation est l'absence de gestion de sauvegardes de données, donc il faut passer par un automatisme manuel, ou dit "fait maison"... Il faudra avoir un script batch qui appelle une procédure SQL, le tout automatiser par le planificateur de tâches de windows. Pour ceux qui ne connaissent pas ce planifcateur, il est expliquer ICI.
Ci-dessous, vous trouverez les 2 scripts, plus le script de nettoyage (purge.bat), ce qui vous permet de régler le temps de rétention des fichiers de sauvegardes.
1/ le script de sauvegarde BAT (C:\ADMIN\BIN\backupdb.bat) :
set DATEBACKUP=%date:~6,4%%date:~3,2%%date:~0,2%
set SUBFILENAME=Sauvegarde_EUREKA-%DATEBACKUP%.BAK
sqlcmd -S Utilisateur AD avec pouvoir -E -i "C:\ADMIN\BIN\savesql.sql" -o F:Log-%DATEBACKUP%.txt
2/ Le script SQL (C:\ADMIN\BIN\savesql.sql) :
DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name
SET @path = 'F:\SQL_BACKUP'
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')
OU si on évite les base ARC_ :
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT LIKE 'ARC_%'
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
3/ le script de gestion de la rétention des sauvegardes BAT (C:\ADMIN\BIN\purge.bat) :
ForFiles /p "F:SQL_BACKUP" /s /d -15 /c "cmd /c del @file"
  LIENS ANNEXES
  LOGICIELS ANNEXES
SQL Server Management Studio (SSMS) |    https://aka.ms/ssmsfullsetup | FREEWARE |
NAVICAT |    https://www.navicat.fr/products | SHAREWARE |