Tips & Trucs
Automatische backup van SQL Server Express
Applicaties die gebruik maken van relatief kleine databases hebben de mogelijkheid om Microsoft SQL Server Express te gebruiken als database management systeem. In een eerder blog hierover heb ik hierover al geschreven.
Een ander belangrijk onderdeel in dit verhaal is het maken van een backup van dergelijke databases. In SQL Server Express is namelijk geen SQL Agent aanwezig om het schedulen van backups te regelen, de SQL Server Management Studio heeft echter wel mogelijkheden om een backup te maken. Van deze mogelijkheden gaan we gebruik maken.
Om te beginnen maken starten we de SQL Server Express Management Studio en loggen in op de instance waarvan een backup gemaakt moet worden.

In het bovenstaande scherm selecteert u aan de linkerkant de database waarvan een backup gemaakt moet worden, vervolgens selecteert u met de rechtermuistoets achtereenvolgens "tasks" en "Back Up" waarna het onderstaande scherm verschijnt:
In het bovenstaande Window kunnen alle parameters ingesteld worden die nodig zijn om een backup te maken, wanneer dit voltooid is kiest u bovenin het scherm voor "script" en daarna voor "script to file". Er wordt een SQL bestand gemaakt waarin de SQL commando's opgenomen zijn om de backup te maken. De inhoud van dit bestand ziet er in dit geval (mijn geval) als volgt uit:
BACKUP DATABASE [test] TO DISK = N'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\test.bak' WITH NOFORMAT, NOINIT, NAME = N'test-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
Om te testen of het beoogde backup proces goed werkt kan de SQL procedure getest worden met sqlcmd -S .\SQLEXPRESS -i "<path en bestandsnaam naar SQL procedure"
Wanneer de test succesvol is doorlopen kan de procedure gescheduled worden waardoor deze automatisch dagelijks uitgevoerd wordt. Hiervoor maken we gebruik van de "task scheduler" die standaard in het Windows Operating System is opgenomen.
De schedules tasks tool bevindt zich onder accessoires -> system tools -> scheduled tasks.
Wanneer u kiest voor het aanmaken van een nieuwe scheduled task verschijnt er automatisch een Wizard die u kunt doorlopen. Bij het selecteren van de naam van de executable dient u het bestand "c:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.exe te selecteren.
Nadat de task is aangemaakt selecteert u de task met de rechtermuistoets en kiest voor "properties". De regel bij het run commando dient als volgt te zijn:
"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE" -S .\SQLEXPRESS -i "C:\Backup-testdb.sql"
Vanaf dit moment wordt er keurig een backup gemaakt van de geselecteerde database volgens het door u ingestelde schema.

