sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server Database Snapshots -3

Hej

Jeg vil fortsætte med at forklare databasesnapshots i SQL Server i denne artikel.

Læs tidligere artikler før dette indlæg.

SQL Server Database Snapshots -1

SQL Server Database Snapshots -2

Database Snaphots under fanen Databaser er som følger. Da der ikke er taget et snapshot af nogen database, er fanen Database snapshots tom, som den vises

Du kan ikke oprette Snapshot på SQL Server Management Studio, du skal bruge T-SQL-kode i det følgende billede. Et eksempel er AdventureWorks-databasen, som er den testdatabase, jeg brugte i mange eksempler.

SQL Server Database Snaphot code

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

AdventureWorksSnaphot blev oprettet i bunden af ​​fanen Snaphot, som den vises i venstre side, når scriptet køres. Denne database er blot et billede eller et øjebliksbillede af AdventureWorks-databasen. Selvom en Sparse-fil oprettes op til størrelsen af ​​AdventureWorks-databasen på disken, oprettes den i starten som en meget lille størrelse. Følgende billede viser placeringen af ​​AdventureWorksSnaphot-databasen på den fysiske disk.

Størrelsen 1 på ovenstående billede (1) er faktisk størrelsen på AdventureWorks Source-databasen. Størrelse 2 er størrelsen på AdventureWorksSnaphots Sparsefile-fil. Sparse File som vist på billedet nedenfor, kun kildedatabasen vil blive ændrede sider.

Når vi undersøger Snapshot-databasen, er alle elementer som Tabel, Views, Stored Procedures osv. i Kilden alle i Snapshot-databasen. Som på billedet nedenfor kan de samme tabeller som kildedatabasen også forespørges fra Snaphot-databasen.

Jeg sagde, at Snapshot-databasen også er effektive til administrator- og brugerfejl. For eksempel fejl som sletning af en tabel helt eller afkortning af tabellen kendte administratorfejl. For eksempel slettes AWBuildVersion-tabellen, der vises i Frame 1 under DBO-skemaet fra AdventureWorks-databasen. Når fanen Tables er opdateret, efter at scriptet er kørt, slettes AWBuildVersion-tabellen fra AdventureWorks Source-databasen, som den vises på billede nummer 2 nedenfor.

Hvad gør vi som DBA nu?

Jeg vil fortsætte med at fortælle i næste indlæg.


  1. MariaDB introducerer en JSON_TABLE() funktion

  2. MySQL – Fix – Fejl – Dit kodeord opfylder ikke de nuværende politikkrav

  3. Hvordan kan jeg flette kolonnerne fra to tabeller til ét output?

  4. Brug "SELECT" til at kalde en funktion