SQL Server Review and Drop Database Snapshot

SQL Server Review and Drop Database Snapshot

I SQL-serveren er et database-øyeblikksbilde et skrivebeskyttet, statisk visning av en gitt database (kildedatabase). Et øyeblikksbilde fanger gjeldende tilstand i databasen på tidspunktet for øyeblikksbildefangst. Dette betyr at et database -øyeblikksbilde er transaksjonelt konsistent.

Databasens øyeblikksbilde er lokalisert i samme tilfelle som kildedatabasen. Selv om øyeblikksbilder gir en skrivebeskyttet visning i dataene fra måldatabasen, er de kildeavhengig. Dette betyr at størrelsen kan vokse når endringene brukes på kildedatabasen. Tilsvarende blir øyeblikksbildet også ødelagt hvis kildedatabasen er ødelagt.

Det er derfor viktig å huske på at databasens øyeblikksbilder ikke fungerer som sikkerhetskopiering mot feil som diskfeil eller databasekorrupsjon.

Forsikre deg om å ta fulle eller delvis sikkerhetskopiering for databasen din for å beskytte mot slike feil.

La oss diskutere hvordan vi kan ta et database -øyeblikksbilde i SQL -serveren.

Eksempel på database og tabell

Før vi diskuterer hvordan du tar et øyeblikksbilde av en database, la oss sette opp en eksempeldatabase for illustrasjonsformål.

Spørsmålene er som gitt i følgende:

Drop Database hvis eksisterer inventar;
Opprette databasebeholdning;
Bruk varelager;
Slippbord hvis det eksisterer produkter;
Lag bordprodukter
(
id int identitet primær nøkkel ikke null,
produktnavn varchar (100),
Produsenten varchar (50),
mengde int ikke null,
pris int standard 0,
in_stock bit
);
sett inn i produkter (produktnavn, produsent, mengde, pris, in_stock)
Verdier ('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 -ledet buet spillskjerm - 2021', 'Samsung', 50, 2999.90, 1);

SQL Server Take Database Snapshot

For å ta et øyeblikksbilde av en gitt database, bruker vi Create Database Query etterfulgt av AS Snapshot -leddet.

Syntaksen er som følger:

Opprett databasedatabase_snapshot_name

(Name = logical_file_name, filname = 'os_file_name') [, ... n]
Som øyeblikksbilde av source_database_name;

For å ta et øyeblikksbilde av "Inventory" -databasen som vi opprettet tidligere, kan vi kjøre følgende spørsmål:

Opprett databasebeholdning_snap på
(Navn = Inventory,
filnavn = 'C: \ Program Files \ Microsoft SQL Server \ MSSQL15.MSSQLServer \ MSSQL \ Backup \ Inventory.ss ')
som øyeblikksbilde av inventar;

SQL Server View Database Snapshot - SSMS

Du kan se stillbildet for database i SQL Server Management Studio ved å navigere til databasene - Database -øyeblikksbilder.

SQL Server View Database Snapshot - Transact -SQL

For å se databasens øyeblikksbilde ved hjelp av Transact-SQL-spørringen, kjører du følgende:

Velg navn, database_id, source_database_id fra sys.databaser;

Dette skal returnere databasene på serveren. Source_database_id -kolonnen viser kildedatabasen for et gitt øyeblikksbilde.

Et eksempel er som følger:

Som vist fra forrige tabell, peker databasen Inventory_Snap på lagerdatabasen som kilde.

SQL Server Drop Database Snapshot - Transact -SQL

For å fjerne et database -øyeblikksbilde, kan du bruke spørringen som vist i følgende:

Drop databasedatabase_snapshot_name;

Eksempel:

Drop Database Inventory_Snap;

Husk at Drop -databasekommandoen avslutter alle tilkoblinger som bruker Inventory_SNAP -databasen.

Konklusjon

I dette innlegget lærte du hvordan du jobber med databasens øyeblikksbilder i SQL -serveren, inkludert å opprette nye database -øyeblikksbilder, se på databasens øyeblikksbilder og fjerne øyeblikksbilder fra serveren.

Takk for at du leste!