Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server-Datenbank-Snapshots -3

Hallo

Ich werde Datenbank-Snapshots in SQL Server in diesem Artikel weiter erläutern.

Lesen Sie frühere Artikel vor diesem Beitrag.

SQL Server-Datenbank-Snapshots -1

SQL Server-Datenbank-Snapshots -2

Datenbank-Snapshots auf der Registerkarte „Datenbanken“ sind wie folgt. Da kein Snapshot einer Datenbank erstellt wurde, ist die Registerkarte "Datenbank-Snapshots" leer, wie sie angezeigt wird

Sie können in SQL Server Management Studio keinen Snapshot erstellen, Sie sollten den T-SQL-Code im folgenden Bild verwenden. Ein Beispiel ist die AdventureWorks-Datenbank, die Testdatenbank, die ich in vielen Beispielen verwendet habe.

SQL Server Database Snaphot code

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

AdventureWorksSnaphot wurde unten auf der Registerkarte „Snapshot“ erstellt, wie es auf der linken Seite angezeigt wird, wenn das Skript ausgeführt wird. Diese Datenbank ist nur ein Abbild oder eine Momentaufnahme der AdventureWorks-Datenbank. Obwohl eine Sparse-Datei bis zur Größe der AdventureWorks-Datenbank auf dem Datenträger erstellt wird, wird sie anfänglich mit einer sehr kleinen Größe erstellt. Die folgende Abbildung zeigt den Speicherort der AdventureWorksSnaphot-Datenbank auf dem physischen Datenträger.

Die Größe 1 des obigen Bildes (1) ist tatsächlich die Größe der AdventureWorks-Quelldatenbank. Größe 2 ist die Größe der Sparsefile-Datei von AdventureWorksSnaphot. Sparse-Datei, wie im Bild unten gezeigt, werden nur die Quelldatenbankseiten geändert.

Wenn wir die Snapshot-Datenbank untersuchen, befinden sich alle Elemente wie Tabellen, Ansichten, gespeicherte Prozeduren usw. in der Quelle in der Snapshot-Datenbank. Wie im Bild unten können die gleichen Tabellen wie die Quelldatenbank auch aus der Snaphot-Datenbank abgefragt werden.

Ich sagte, Snapshot-Datenbanken sind auch für Administrator- und Benutzerfehler wirksam. Beispielsweise sind Fehler wie das vollständige Löschen einer Tabelle oder das Abschneiden der Tabelle bekannte Administratorfehler. Beispielsweise wird die AWBuildVersion-Tabelle, die in Frame 1 unter dem DBO-Schema aus der AdventureWorks-Datenbank angezeigt wird, gelöscht. Wenn die Registerkarte „Tabellen“ nach Ausführung des Skripts aktualisiert wird, wird die Tabelle „AWBuildVersion“ aus der AdventureWorks-Quelldatenbank gelöscht, wie sie in Bild Nummer 2 unten angezeigt wird.

Was werden wir als DBA jetzt tun?

Ich werde im nächsten Beitrag weiter berichten.