SQL Server Express viene distribuito senza SQL Agent, quindi non è possibile schedulare internamente a SQL Server processi automatizzati, come ad esempio il backup. E’ però possibile aggirare questo ostacolo creando uno script ad-hoc, che si occupi dei vari job che vogliamo eseguire.

In questo articolo vedremo come creare uno script per il backup di SQL Express e, subito dopo, uno per la manutenzione dei backup, il cui compito sarà quello di tenere sempre le tre copie più recenti, cancellando di volta in volta quelli più vecchi.

Tutto il lavoro verrà svolto all’interno della cartella C:\SQL_Backup e delle due sotto cartelle scripts e Logs, che dovranno quindi essere create preventivamente.

Al termine dell’articolo è presente un link per scaricare un pacchetto già pronto con tutti gli script e la struttura dei file predefinita

Lo script per il backup di SQL Express

Portiamoci all’interno di C:\SQL_Backup\scripts e creiamo un file che chiameremo backupDB.sql con questo contenuto:

Lo script andrà a creare tanti backup quanti sono i database all’interno di SQL Express, ed aggiungerà una sorta di “timestamp” alla fine del nome (vedi riga evidenziata), in modo da identificarli nel tempo, prima di terminare con l’estensione [cci].BAK[/cci].

Cancellazione dei backup vecchi

Sempre all’interno di C:\SQL_Backup\scripts creiamo un file deleteoldsqlbaks.vbs in cui scriveremo:

Il compito di questo script sarà quello di posizionarsi nella cartella in cui abbiamo salvato i backup (riga 6), “contare” i backup presenti e tenere i tre più recenti, cancellando gli altri (riga 36). Inoltre, scrive un log (riga 16) delle operazioni eseguite.

I file di log

Portiamoci in C:\SQL_Backup\Logs  e creiamo due file vuoti, che chiameremo backuplog.txt  e  cleanuplog.txt

Esecuzione

Creiamo il file databasebackup.cmd

L’unica modifica da fare sarà l’inserimento del nome e della istanza del vostro server (riga evidenziata), sostituendo SERVER\SQLEXPRESS con i vostri dati corretti (presumibilmente, l’istanza si chiama sempre SQLEXPRESS ma cambia il nome del server)

Schedulazione

Non resta che creare una Operazione pianificata dal Pannello di controllo di Windows, il cui semplice compito consisterà nell’esecuzione di  C:\SQL_Backup\scripts\databasebackup.cmd, impostando un orario ed una ricorrenza secondo le proprie necessità

Download “SQL Backup” SQL_Backup.zip – Scaricato 359 volte – 3 KB

Via | mssqltips