Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Snapshot del database di SQL Server -3

Ciao

Continuerò a spiegare gli snapshot di database in SQL Server in questo articolo.

Leggi gli articoli precedenti prima di questo post.

Snapshot del database di SQL Server -1

Snapshot del database di SQL Server -2

Gli snapshot del database nella scheda Database sono i seguenti. Poiché non è stata eseguita alcuna istantanea di alcun database, la scheda Istantanee del database è vuota come appare

Non è possibile creare snapshot in SQL Server Management Studio, è necessario utilizzare il codice T-SQL nell'immagine seguente. Un esempio è il database AdventureWorks, che è il database di test che ho usato in molti esempi.

SQL Server Database Snaphot code

CREATE DATABASE AdventureWorksSnaphot  ON
( NAME = AdventureWorks_Data, FILENAME = 'd:\Snapshot\AdventureWorks_SparseFile.ss' )
AS SNAPSHOT OF AdventureWorks;
GO

AdventureWorksSnaphot è stato creato nella parte inferiore della scheda Snaphot, come appare sul lato sinistro quando viene eseguito lo script. Questo database è solo un'immagine o uno snapshot del database AdventureWorks. Sebbene un file Sparse venga creato fino alla dimensione del database AdventureWorks nel disco, inizialmente viene creato di dimensioni molto ridotte. L'immagine seguente mostra la posizione del database AdventureWorksSnaphot sul disco fisico.

La dimensione 1 dell'immagine sopra (1) è in realtà la dimensione del database AdventureWorks Source. La dimensione 2 è la dimensione del file Sparsefile di AdventureWorksSnaphot. File sparsi come mostrato nell'immagine qui sotto, solo il database di origine verrà cambiato pagine.

Quando esaminiamo il database Snapshot, tutti gli elementi come Tabella, Viste, Stored procedure ecc. nell'Origine sono tutti nel database Snapshot. Come nell'immagine sottostante, le stesse tabelle del database Source possono essere interrogate anche dal database Snaphot.

Ho detto che il database snapshot è efficace anche per gli errori dell'amministratore e dell'utente. Ad esempio, errori come l'eliminazione completa di una tabella o il troncamento della tabella sono noti come errori dell'amministratore. Ad esempio, la tabella AWBuildVersion visualizzata nel frame 1 sotto lo schema DBO dal database AdventureWorks viene eliminata. Quando la scheda Tabelle viene aggiornata dopo l'esecuzione dello script, la tabella AWBuildVersion viene eliminata dal database di origine AdventureWorks come appare nell'immagine numero 2 di seguito.

Cosa faremo ora come DBA?

Continuerò a raccontarlo nel prossimo post.