SQL Server Review und Drop Database Snapshot

SQL Server Review und Drop Database Snapshot

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 vollständigen oder teilweisen Sicherungen für Ihre Datenbank einnehmen, um 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 folgende Abfrage 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;

SQL Server View Database Snapshot - SSMS

Sie können den Datenbank -Snapshot im SQL Server Management Studio anzeigen, indem Sie zu den Datenbanken navigieren - Datenbank -Snapshots.

SQL Server View Database Snapshot - Transact -SQL

Um den Datenbank-Snapshot mithilfe der Transact-SQL-Abfrage anzuzeigen, führen Sie Folgendes aus:

Wählen Sie Name, Database_id, Source_Database_id aus SYS.Datenbanken;

Dies sollte die Datenbanken auf dem Server zurückgeben. Die Spalte Source_Database_id zeigt die Quelldatenbank für einen bestimmten Snapshot an.

Ein Beispiel ist wie folgt:

Wie aus der vorherigen Tabelle gezeigt, verweist die Datenbank Inventory_Snap in die Inventar -Datenbank als Quelle.

SQL Server Drop Database Snapshot - Transact -SQL

Um einen Datenbank -Snapshot zu entfernen, können Sie die Abfrage wie im Folgenden dargestellt verwenden:

Drop Database Database_Snapshot_Name;

Beispiel:

DROP Database Inventory_Snap;

Beachten Sie, dass der Befehl Drop Database alle Verbindungen beendet, die die Datenbank inventory_snap verwenden.

Abschluss

In diesem Beitrag haben Sie erfahren.

Danke fürs Lesen!