Backup e Ripristino di database SqlServer

Mi capita molto (troppo) spesso di non trovare un adeguato sistema di copie di salvataggio dei dati. A volte non sono mai state fatte copie di sicurezza oppure non si è verificato l’esito positivo della stessa. Per non parlare della conservazione in luogo sicuro.

Per avere la certezza di non perdere il lavoro fatto occorre copiare il database almeno ogni tre giorni, anche se l’ideale sarebbe farlo tutti i giorni. Quando il database è Access o MySql l’operazione di copia e di successivo ripristino è piuttosto semplice in quanto è sufficiente copiare il file o la cartella contenente il database, magari quando le applicazioni che lo usano non sono aperte. Con SqlServer come per altri database che forniscono servizi, questa semplice operazione di copia del file contenente il database non è consentita se non facendo il detach. Risulta certamente più comodo avvalersi degli strumenti messi a disposizione del database e magari creare un sistema automatizzato. Anche se si utilizza una versione Express di SqlServer questa operazione può essere pianificata per non richiedere interazione.

Copia (Backup) di Sql Server

Per fare le copie di salvataggio manualmente è possibile utilizzare Sql server Management Studio connettendo il server su cui è depositato il database. Viene mostrato l’elenco dei database presenti sul server e per ognuno di essi è possibile lanciare una specifica funzione attivabile cliccando il tasto destro del mouse dal nome del database a cui siamo interessati.

clip_image002

A questo punto verrà mostrata una finestra che mostra sulla sinistra le funzioni “Generale” e “Opzioni”. Scegliere “Generale” per indicare il database di origine e il file di destinazione, quindi scegliere “Opzioni” indicando “Sovrascrivi tutti i set di backup esistenti”

clip_image004 clip_image006

Sarà creato il file come da voi indicato che potrà essere copiato liberamente su DVD o disco esterno in modo che possa essere trasferito e conservato in altro luogo.

Pianificazione della copia di Sql Server

Il modo più semplice per procedere a backup è pianificare le copie con SQL Agent ad una certa ora affinché non debba essere eseguita manualmente.

Se anche si dispone della versione Express che non permette di pianificare il backup è possibile aggirare l’ostacolo seguendo i seguenti passi :

1) Per prima cosa bisogna salvare lo script. Invece di eseguire il backup come visto in precedenza, clicchiamo sul pulsante “Script” posto in alto, quindi scegliamo la seconda opzione “Genera script azione su file”. Ci viene creato un file che chiamiamo [nomedatabase].sql.

2) Nella stessa cartella in cui risiede lo script sql, creiamo un file batch che possiamo chiamare [nomedatabase].bat come di seguito facendo attenzione a sostituire i nomi indicati in grassetto con i parametri relativi alla vostra configurazione

SETLOCAL

SET BKPFILENAME=GEA

SET BKPEXT=bak

SET MONTH=%DATE:~3,2%

SET DAY=%DATE:~0,2%

SET YEAR=%DATE:~6,4%

SET HOUR=%TIME:~0,2%

SET MINUTE=%TIME:~3,2%

SET SECOND=%TIME:~6,2%

SET BKPFILE=%BKPFILENAME%-%YEAR%-%MONTH%-%DAY%-%HOUR%-%MINUTE%-%SECOND%.%BKPEXT%

SQLCMD -S NOMESERVER -i %BKPFILENAME%.sql

IF EXIST %BKPFILENAME%.%BKPEXT% RENAME %BKPFILENAME%.%BKPEXT% %BKPFILE%

3) Possiamo schedulare l’esecuzione del nostro file [nomedatabase].bat tra le operazioni pianificate di Windows, raggiungibile da Start, Programmi, Accessori, Utilità di sistema, Operazioni pianificate.


Ripristino di Sql Server

Se si è verificato un problema grave potrebbe essere che abbiate dovuto sostituire il server, quindi dopo aver reinstallato Sql server occorre creare un nuovo database. Dopo avere inserito il nome ed eventualmente altri parametri, confermate per procedere alla creazione.

clip_image008

Ora procediamo con il ripristino con il solito click del tasto destro del mouse, indicando il nome del database di destinazione, il nome del file di origine e, selezionando “Opzioni”, spuntare “Sovrascrivi il database esistente (WITH REPLACEMENT)”.

clip_image010 clip_image012

Lascia un commento

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: