Nel server SQL, un'istantanea del database è una vista statica di sola lettura di un determinato database (database di origine). Un'istantanea cattura lo stato attuale del database al momento dell'acquisizione dell'istantanea. Ciò significa che un'istantanea del database è transazionalmente coerente.
L'istantanea del database si trova nella stessa istanza del database di origine. Sebbene le istantanee forniscano una vista di sola lettura nei dati del database di destinazione, sono dipendenti dalla fonte. Ciò significa che le dimensioni possono crescere man mano che le modifiche vengono applicate al database di origine. Allo stesso modo, l'istantanea diventa anche corrotta se il database di origine è corrotto.
È quindi importante tenere presente che le snapshot del database non servono come backup contro errori come il fallimento del disco o la corruzione del database.
Assicurarsi di prendere backup completi o parziali per il tuo database per proteggere da tali guasti.
Discutiamo di come possiamo prendere un'istantanea del database nel server SQL.
Database di esempio e tabella
Prima di discutere come prendere un'istantanea di un database, impostiamo un database di esempio per scopi di illustrazione.
Le domande sono come previste da segue:
Drop database se esiste l'inventario;SQL Server prendi l'istantanea del database
Per prendere un'istantanea di un determinato database, utilizziamo la query di database Crea seguita dalla clausola AS Snapshot.
La sintassi è la seguente:
Crea database database_snapshot_nameAd esempio, per prendere un'istantanea del database "Inventario" che abbiamo creato in precedenza, possiamo eseguire la seguente query:
Crea database Inventory_Snap suSQL Server View Database Snapshot - SSMS
È possibile visualizzare le snapshot del database nello studio di gestione del server SQL navigando nei database - Snapshot del database.
SQL Server View Database Snapshot - Transact -SQL
Per visualizzare l'istantanea del database utilizzando la query Transact-SQL, eseguire quanto segue:
Seleziona Nome, Database_id, Source_database_id da sys.banche dati;Questo dovrebbe restituire i database nel server. La colonna Source_database_id mostra il database di origine per una determinata istantanea.
Un esempio è il seguente:
Come mostrato dalla tabella precedente, il database Inventor_SNAP indica il database dell'inventario come sorgente.
SQL Server Drop Drop Database Snapshot - Transact -SQL
Per rimuovere un'istantanea del database, è possibile utilizzare la query come mostrato di seguito:
Drop database database_snapshot_name;Esempio:
Drop Database Inventory_Snap;Tieni presente che il comando Drop Database termina tutte le connessioni che utilizzano il database Inventory_SNAP.
Conclusione
In questo post, hai imparato a lavorare con le snapshot del database nel server SQL, inclusa la creazione di nuove snapshot del database, visualizzare le istantanee del database e rimuovere le istantanee dal server del server.
Grazie per aver letto!