Er zijn verschillende mogelijkheden om in SQL Server een backup te maken. Je kan het handmatig doen, maar je kan het ook direct via SQL Server doen. De tweede manier is gemakkelijker, maar het is belangrijk om de eerste ook te kennen. Ik wil beide manieren in dit artikel behandelen.
Op de handmatige manier ga je query’s gebruiken en schrijven om je doel te bereiken. Het meest handig is om dit direct in het programma zelf te doen via SQL Server Management Studio. Daar aangekomen klik je op ‘New Query’ en het werk kan beginnen.
Allereerst willen we dat als er gerecoverd wordt en doen we met het volgende stukje code:
ALTER DATABASE [database_name] SET RECOVERY FULL;
Hier zetten we RECOVERY op FULL, maar je kan ook BULK_LOGGED of SIMPLE kiezen. Bij de eerste wordt de transactie log gewist maar er worden enkele belangrijke dingen wel gelogd en opgeslagen. Bij de tweede wordt de transactie log helemaal gewist. Als je dan ‘recovered’ is alles weg tot de laatste backup.
Dan kunnen we een backup gaan maken. Hiervoor gebruiken we onderstaande code. Dit stukje code kun je gewoon onder het voorgaande stukje code plaatsen.
BACKUP DATABASE [database_name] TO DISK = ‘location+name_of_file’
WITH NAME = ‘backup_name’;
GO
Ook hier zijn weer een aantal mogelijkheden.
Bijvoorbeeld in plaats van DISK kun je zo ook TAPE gebruiken. Maar die wordt als verouderd beschouwd en dus wordt meestal DISK gebruikt.
SQL Server kent nog veel meer uitbreidingen op deze query, maar dit is echt de basis voor het maken van een backup via code.
Recovery
Om de database terug te halen, als SQL Server of zelfs erger het besturingsysteem is vastgelopen, kun je weer een query maken. Hiervoor wordt de volgende code gebruikt:
RESTORE DATABASE [database_name] FROM DISK = ‘location+backupfile_name’ WITH REPLACE;
Hier moet je de naam van de backup-file weer zetten. Met replace wordt de database vervangen.
Programma
Als je zonder code een backup wilt maken, kan dat heel eenvoudig. Als eerste moet SQL Server opgestart worden. Dan klik je met je rechter muisknop op de database die je wil backuppen. Wijs met je muis ‘Tasks’ aan en klik daarna op ‘backup’.
Je krijgt nu een scherm te zien waar je gegevens in kunt vullen die je met code ook kunt maken. Hier kun je ook weer zien dat ‘Tape’ erg verouderd is en je er niet eens op kunt slaan. Je klikt op ‘OK’ en de database-backup is aangemaakt.
Om een database te recoveren, weer met je rechter muisknop op de database die je wil recoveren, weer via ‘Tasks’ nu naar ‘restore’ en dan op ‘database’.
Je krijgt een scherm te zien waar je kunt zien dat SQL Server zelf ook zoekt naar backup-bestanden van de betreffende database. Het is vaak handig om via tab ‘options’ het vinkje met ‘WITH REPLACE’ aan te vinken. Na een klik op ‘OK’ laat SQL Server de gebruiker weten of het gelukt is of niet.