SQL Server Snapshot baza danych

SQL Server Snapshot baza danych

Na serwerze SQL migawka bazy danych to statyczny widok danej bazy danych (baza danych źródłowych). Migawka przechwytuje bieżący stan bazy danych w momencie przechwytywania migawki. Oznacza to, że migawka bazy danych jest zgodna z transakcjami.

Migawka bazy danych znajduje się w tym samym przypadku co źródła bazy danych. Chociaż migawki dostarczają widoku tylko do odczytu danych docelowej bazy danych, są one zależne od źródła. Oznacza to, że rozmiar może rosnąć, gdy zmiany są stosowane do źródłowej bazy danych. Podobnie migawka również zostaje uszkodzona, jeśli źródłowa baza danych jest uszkodzona.

Dlatego ważne jest, aby pamiętać, że migawki bazy danych nie służą jako kopie zapasowe w stosunku do błędów, takich jak awaria dysku lub uszkodzenie bazy danych.

Upewnij się, aby wziąć pełne lub częściowe kopie zapasowe dla swojej bazy danych, aby chronić ją przed takimi niepowodzeniami.

Omówmy, w jaki sposób możemy wziąć migawkę bazy danych na serwerze SQL.

Przykładowa baza danych i tabela

Przed omówieniem, jak zrobić migawkę bazy danych, skonfigurujmy przykładową bazę danych do celów ilustracyjnych.

Zapytania są zgodne z następującymi:

Zrzuć bazę danych, jeśli istnieje zapasy;
Utwórz zapasy bazy danych;
Użyj zapasów;
Stół zrzutu, jeśli istnieje produkty;
Utwórz produkty stołowe
(
Id Int Identity Klucz podstawowy nie null,
Product_name varchar (100),
producent varchar (50),
Ilość int nie null,
Cena int Domyślnie 0,
bit in_stock
);
Wstaw do produktów (nazwa_produktu, producent, ilość, cena, in_stock)
Wartości („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 "klasa S95B OLED 4K Smart TV - 2021 ',„ Samsung ”, 900, 1999.90, 1),
(„Odyssey Ark Quantum Mini -LED Ecran gier - 2021”, „Samsung”, 50, 2999.90, 1);

SQL Server weź migawkę bazy danych

Aby zrobić migawkę danej bazy danych, używamy klauzuli AS AS Snapshot, a następnie klauzuli AS Snapshot.

Składnia jest następująca:

Utwórz bazę danych baza danych_snapshot_name
NA
(Name = logical_file_name, nazwa pliku = 'OS_FILE_NAME') [,… n]
Jako migawka nazwy_database_name;

Na przykład, aby zrobić migawkę bazy danych „Inwentaryzację”, którą utworzyliśmy wcześniej, możemy uruchomić zapytanie, jak pokazano następująco:

Utwórz inwentaryzację bazy danych
(nazwa = zapasy,
filename = 'c: \ Program Files \ Microsoft SQL Server \ MSSQL15.Mssqlserver \ mssql \ backup \ inwentaryzacja.SS')
jako migawka zapasów;

Po utworzeniu możesz wyświetlić migawkę za pomocą SSMS, nawigując do bazy danych - migawka bazy danych.

Tam z powodzeniem wykonałeś migawkę swojej bazy danych. Możesz użyć migawek, aby przywrócić bazę danych do konkretnej kwestii, w której wykonano migawkę.

Aby przywrócić bazę danych za pomocą migawki, możesz uruchomić następujące zapytanie:

Użyj Master;
Przywróć nazwę danych bazy danych
Z DATABASE_SNAPSHOT = Snapshot_name;

NOTATKA: Przywrócenie migawki bazy danych wymaga użycia podstawowej bazy danych przed wykonaniem operacji.

Przykład:

Użyj Master;
Przywróć zapasy bazy danych
z
DATABASE_SNAPSHOT = 'Inventory_snap';

Powinno to przywrócić bazę danych z migawki.

Wniosek

Ten post obejmował proces przyjmowania i przywracania migawki bazy danych za pomocą poleceń Transact -SQL.

Dziękuje za przeczytanie!