Microsoft SQL Server
Istantanee del database
Ricerca…
Osservazioni
Un'istantanea del database è una vista statica di sola lettura di un database SQL Server che è coerente a livello di transazione con il database di origine al momento della creazione dello snapshot.
Un'istantanea del database risiede sempre sulla stessa istanza del server del suo database di origine. Quando il database di origine viene aggiornato, lo snapshot del database viene aggiornato.
Un'istantanea differisce da un backup poiché il processo di creazione dello snapshot è istantaneo e lo snapshot occupa lo spazio solo quando vengono applicate le modifiche nel database di origine. Un backup memorizza invece una copia completa dei dati come al momento della creazione del backup.
Inoltre, un'istantanea fornisce una copia istantanea di sola lettura del database, mentre un backup deve essere ripristinato su un server per poter essere letto (e una volta ripristinato può essere scritto anche)
Le istantanee del database sono disponibili solo nelle edizioni Enterprise e Developer.
Creare uno snapshot del database
Un'istantanea del database è una vista statica di sola lettura di un database di SQL Server (il database di origine). È simile al backup, ma è disponibile come qualsiasi altro database in modo che il client possa interrogare il database degli snapshot.
CREATE DATABASE MyDatabase_morning -- name of the snapshot ON ( NAME=MyDatabase_data, -- logical name of the data file of the source database FILENAME='C:\SnapShots\MySnapshot_Data.ss' -- snapshot file; ) AS SNAPSHOT OF MyDatabase; -- name of source database
Puoi anche creare un'istantanea del database con più file:
CREATE DATABASE MyMultiFileDBSnapshot ON (NAME=MyMultiFileDb_ft, FILENAME='C:\SnapShots\MyMultiFileDb_ft.ss'), (NAME=MyMultiFileDb_sys, FILENAME='C:\SnapShots\MyMultiFileDb_sys.ss'), (NAME=MyMultiFileDb_data, FILENAME='C:\SnapShots\MyMultiFileDb_data.ss'), (NAME=MyMultiFileDb_indx, FILENAME='C:\SnapShots\MyMultiFileDb_indx.ss') AS SNAPSHOT OF MultiFileDb;
Ripristina un'istantanea del database
Se i dati in un database di origine vengono danneggiati o vengono scritti dati errati nel database, in alcuni casi, il ripristino del database su uno snapshot del database che precede il danno potrebbe essere un'alternativa appropriata al ripristino del database da un backup.
RESTORE DATABASE MYDATABASE FROM DATABASE_SNAPSHOT='MyDatabase_morning';
Attenzione: questo cancellerà tutte le modifiche apportate al database di origine da quando è stata scattata l'istantanea!
CANCELLA Istantanea
È possibile eliminare le istantanee esistenti del database utilizzando l'istruzione DELETE DATABASE:
DROP DATABASE Mydatabase_morning
In questa dichiarazione si dovrebbe fare riferimento al nome dell'istantanea del database.