Voor SnelStart administraties wordt veel gebruik gemaakt van Microsoft SQL Server Express Edition, geïnstalleerd op een server of, als er geen Windows server beschikbaar is, op één van de werkstations.Het maken van backups van SQL Server is wat anders dan het kopiëren van bestanden (zoals bij MDB administraties voldoende is), omdat de databasebestanden van SQL Server permanent 'in gebruik' zijn.
Op een professioneel beheerde server is meestal ook professionele backupsoftware beschikbaar die uitstekend SQL database kan backuppen. In dat geval kan het inrichten van de backup ook worden overgelaten aan de professional.
Veel SnelStart gebruikers werken echter in kleinere omgevingen, en daar is niet altijd de juiste backupsoftware voor handen. Gelukkig is er dan toch nog een uitstekend werkende methode voor geautomatiseerde backups, die we hieronder beschrijven.
We maken dankbaar gebruik van het ExpressMaint opensource project. Dit project beheerd twee tools voor het automatiseren van backup en onderhoud aan SQL databases, zoals in SQL 2000 nog werd meegeleverd. In latere versies van SQL Server zijn deze automatiseringsmogelijkheden niet meer beschikbaar in de Express-edities, maar alleen in de betaalde versies van SQL Server.
ExpressMaint is een programma dat met parameters kan worden aangestuurd (zoals verderop uitgelegd), en dat wij graag gebruiken voor het maken van backups.
Het programmaatje kan worden gedownload vanhttp://expressmaint.codeplex.com/releases/view/35577. Let daarbij op de juiste versie (voor de juiste SQL versie).
Plaats ExpressMaint.exe bijvoorbeeld in C:\SnelStart\SQL\.
Om de kracht van ExpressMaint te gebruiken, maakt u een BAT- of CMD-bestand met de juiste opdracht. Die opdracht kan als volgt zijn:
C:\SnelStart\SQL\Expressmaint.exe -S (local)\SQLExpress -D ALL_USER -T DB -B c:\SnelStart\SQL\backups -BU DAYS -BV 1 -V -C
(een bat-bestand maakt u vanuit Kladblok, door deze op te slaan als bijv. C:\SnelStart\SQL\MaakBackup.bat. Let wel op dat Kladblok er zelf niet nog een keer .txt achter zet)
Deze opdracht maakt een backup van alle 'userdatabases' op de opgegeven SQL Server '(local)\SQLExpress'. Het is ook mogelijk om specifieke databases/administraties op te geven, maar met deze optie wordt nooit meer een administratie overgeslagen.
De backup wordt gemaakt naar de map C:\SnelStart\SQL\Backups. Deze map moet bestaan, en bevat na het maken van de backup voor elke database een submap met daarin de backup(s).
Met de parameters -BU DAYS en -BV 1 wordt aangegeven dat de backup in deze map één dag wordt bewaard. Zo voorkomt u dat uw schijf vol loopt met veel backups. U kunt deze parameters bijvoorbeeld ook instellen op DAYS en 3, of op WEEKS en 1.
Zie voor uitgebreide informatie over de te gebruiken parameters de volgende website:http://www.sqldbatips.com/showarticle.asp?ID=29.
Download hier een voorbeeldbestand (te wijzigen met Windows Kladblok).
Het maken van de backups kunt u eenvoudig plannen door een taak aan te maken in de Windows Geplande Taken (Schedule Tasks). We bespreken dit hier verder niet, omdat dit erg verschilt per Windows-versie, en daar genoeg informatie over te vinden is op Google.
Als de backup is gemaakt, kunnen de gebackupte databases worden meegenomen in de reguliere bestandsbackups. De SQL-intelligentie is afgehandeld door ExpressMaint, de backups zijn nu gewone te kopiëren bestanden.
Zo ziet u, voor het maken van goede en betrouwbare SQL-backups is geen dure software nodig!
Inmiddels is een nog veel mooiere oplossing beschikbaar, namelijk de gratis SQL Backup Master. Hiermee kan volautomatisch dagelijks worden gebackupt, ook naar een netwerkschijf.