Quanti di voi hanno da qualche parte un SQL Express per far girare qualche applicativo? Tenendo presente l’argomento di questo blog, direi almeno uno, quello di vcenter, almeno su installazioni piccole. Aggiungiamoci poi anche veeam, che vuole anch’esso il suo database, e siamo di colpo davanti a un problema.
Tra le varie limitazioni imposte alla versione free non c’è infatti solo il limite fisico del database a 4 Gb, ma anche l’assenza dell’agent, e quindi l’impossibilità di fare dei backup. Questo problema risulta ancora aperto con veeam, che non può fare il backup della VM dove lui stesso è installato!
Come fare? Sfruttando un post di Eric Sloof che segnalava l’esistenza di un tool free, ho deciso di provarlo.
Il software in questione si chiama SQLScheduler, e lo potete trovare qui. E’ vero che dal 2007 non viene più aggiornato, ma la copertura di SQL Express 2005 è garantita.
Per prima cosa bisogna procedere alla sua installazione:
- esplodiamo il file zip e mettiamo la cartella in una posizione adatta, tipo la c:\programmi
- apriamo la cartella da un prompt dei comandi, entriamo nella directory Service e invochiamo installservice.bat
- editiamo il file SQLScheduler.WindowsService.exe.config e configuriamo i parametri smtp per le notifiche
- riavviamo il servizio appena creato per fargli prendere le modifiche
Avviamo a questo punto il programma scheduler.exe, ovvero l’interfaccia grafica. Ecco come impostare il backup:
- creiamo il nodo che rappresenta il database, tipicamente NOMESERVER\SQLEXP_VIM (potete recuperare il nome dall’elenco servizi di windows).
- creiamo il job di backup
- la parte importante è la seconda tab, details: nello script precreato col pulsante “Insert Backup Template” dovremo editare il valore <databasename> impostanto il nome del database, che solitamente per vcenter è VIM_VCDB, per veeam invece è VeeamBackup
- impostiamo nello script il percorso dove vogliamo che il backup venga salvato, e scheduliamo
Se tutto è stato configurato correttamente, riceveremo in mail un piccolo log che ci dice che il db è stato salvato, e troveremo nel file system il solito file .bak