SQL Server Snapshot -Datenbank

SQL Server Snapshot -Datenbank

Auf dem SQL-Server ist ein Datenbank-Snapshot eine schreibgeschützte statische Ansicht einer bestimmten Datenbank (Quelldatenbank). Ein Schnappschuss erfasst den aktuellen Status der Datenbank zum Zeitpunkt der Snapshot -Erfassung. Dies bedeutet, dass ein Datenbank -Schnappschuss transaktionell konsistent ist.

Der Datenbank -Snapshot befindet sich in derselben Instanz wie die Quelldatenbank. Obwohl Snapshots eine schreibgeschützte Ansicht in die Daten der Zieldatenbank enthalten. Dies bedeutet, dass die Größe wachsen kann, wenn die Änderungen auf die Quelldatenbank angewendet werden. In ähnlicher Weise wird der Schnappschuss auch beschädigt, wenn die Quelldatenbank beschädigt ist.

Es ist daher wichtig zu beachten.

Stellen Sie sicher, dass Sie die volle oder teilweise Sicherungen für Ihre Datenbank einnehmen, um sie vor solchen Fehlern zu schützen.

Lassen Sie uns diskutieren, wie wir einen Datenbank -Snapshot auf dem SQL -Server aufnehmen können.

Beispieldatenbank und Tabelle

Bevor Sie diskutieren, wie Sie einen Schnappschuss einer Datenbank aufnehmen, lassen Sie uns eine Beispieldatenbank für Abbildungszwecke einrichten.

Die Abfragen sind wie im Folgenden angegeben:

Datenbank fallen, wenn existiert Inventar;
Datenbankinventar erstellen;
Inventar verwenden;
Tisch fallen, wenn Produkte existiert;
Tischprodukte erstellen
(
Id Int Identity Primärschlüssel nicht null,
product_name varchar (100),
Hersteller Varchar (50),
Menge int nicht null,
Preis int Standard 0,
in_stock bit
);
In Produkte einfügen (Product_Name, Hersteller, Menge, Preis, In_Stock)
Werte ("Apple iPad Air - 2022", "Apple", 100, 569.99, 1),
('Samsung Galaxy Z Flip 4 - 2022', 'Samsung', 302, 1569.00, 1),
('Sony PlayStation 5 - 2020', 'Sony', 500, 499.99, 1),
('Samsung Galaxy Watch -5 Pro - 2022', 'Samsung', 600, 209 / .99, 1),
('Apple Watch Series 6 - 2022', 'Apple', 459, 379.90, 1),
('Apple Airpods Pro - 2022', 'Apple', 200, 199.99, 1),
('55 "Klasse S95B OLED 4K Smart TV - 2021 ',' Samsung ', 900, 1999.90, 1),
('Odyssey Ark Quantum Mini -geführte gebogene Gaming -Bildschirm - 2021', 'Samsung', 50, 2999.90, 1);

SQL Server nehmen Datenbank -Snapshot auf

Um eine Snapshot einer bestimmten Datenbank aufzunehmen, verwenden wir die Datenbankabfrage erstellen, gefolgt von der AS Snapshot -Klausel.

Die Syntax ist wie folgt:

Erstellen Sie Datenbankdatenbank_Snapshot_Name
AN
(Name = logical_file_name, fileName = 'os_file_name') [,… n]
Als Schnappschuss von Source_Database_Name;

Um beispielsweise eine Momentaufnahme der zuvor erstellten "Inventar" -Datenbank zu übernehmen, können wir die Abfrage wie im Folgenden gezeigt ausführen:

Erstellen Sie Datenbank inventory_snap auf
(Name = Inventar,
fileName = 'c: \ Programme \ Microsoft SQL Server \ MSSQL15.MSSQLServer \ MSSQL \ Backup \ Inventory.ss ')
als Schnappschuss des Inventars;

Sobald Sie erstellt haben, können Sie den Snapshot mit SSMS ansehen, indem Sie zur Datenbank - Datenbank -Snapshot navigieren.

Dort haben Sie erfolgreich eine Momentaufnahme Ihrer Datenbank gemacht. Sie können die Snapshots verwenden, um die Datenbank auf einen bestimmten Punkt wiederherzustellen, an dem der Snapshot aufgenommen wurde.

Um die Datenbank mit dem Snapshot wiederherzustellen, können Sie die folgende Abfrage ausführen:

Verwenden Sie Master;
Wiederherstellen Sie die Datenbank database_name
Aus DataBase_Snapshot = snapshot_name;

NOTIZ: Wiederherstellen eines Datenbank -Snapshots müssen Sie die Master -Datenbank verwenden, bevor Sie den Vorgang ausführen.

Beispiel:

Verwenden Sie Master;
Datenbankinventar wiederherstellen
aus
Database_Snapshot = 'Inventory_Snap';

Dies sollte die Datenbank aus dem Snapshot wiederherstellen.

Abschluss

Dieser Beitrag behandelte den Prozess der Aufnahme und Wiederherstellung eines Datenbank -Snapshots mithilfe der Transact -SQL -Befehle.

Danke fürs Lesen!