..


Sponsorerede links

Database snapshots i SQL Server

Artikel skrevet af Vincent Gaglio
Side 1 af 3

En database snapshot er et værktøj (indført med SQL Server 2005), der tillader read-only kopier af en database på et givet tidspunkt. Et snapshot har alle kendetegnene for en normal database, men på det du kan kun søge i data og ændringer.

Denne teknik er meget nyttig i mange situationer, for eksempel:

  • Hvis du vil oprette en data-historie;
  • eller for at skabe et "gendannelsespunkt", før du foretager redigering meget komplekse og risikable;
  • eller for at sikre adgangen lettuare data på en sekundær server;
  • mv.
T-SQL-kode til at bruge, når du opretter et snapshot svarer til følgende





 CREATE DATABASE PÅ mio_database_snapshot_ottobre

 





 (NAME = N'test_file ',

 





 FILNAVN = N'C: \ DB_Snapshots \ mio_database_snapshot_ottobre.snap ')

 





 AS øjebliksbillede af mio_database;



Med disse instruktioner, vi fortæller SQL Server til at oprette en database snapshot og kalder det mio_database mio_database_snapshot_ottobre. Derudover giver vi et navn (navn), og angiver stien til den placering, hvor man vil gemme (filnavn).

Og 'tilrådeligt at gemme dine snapshots til en separat mappe fra hvor de bor databasefiler.

Lad os nu undersøge, hvordan hele processen.
Et øjebliksbillede, som tidligere nævnt, er en read-only, statisk billede af en database. Når du opretter en visning, at visse hændelser forekommer:

  • skaber de såkaldte sparsomme filer (tomme filer, der vil blive fyldt af teknikken med copy-on-write);
  • skaber en checkpoint af databasen;
  • hvis der er nogen verserende transaktioner, de bliver ignoreret;
Sparsomme filer (eller "sparsom filer") indeholder ingen data, der viser deres ejendom - ved hjælp af Windows Stifinder - du vil bemærke, at de har en virtuel dimension, der svarer til den, kilden database og en størrelse på disken, der er 0KB eller et multiplum af 64KB.

Disse filer er hjertet af det øjebliksbillede, kræver en lille mængde plads, og deres skabelse er ekstremt hurtig, selvom du arbejder med en stor database. Når den er oprettet disse filer, er en mekanisme i gang, når du skriver kopi (copy-on-write): i det væsentlige, er disse filer tomme og deres indhold vil blive skrevet lige før en side af kilden databasen er ændret til den første tid (efter øjebliksbillede skabelse).
Eventuelle ændringer efter den første har ingen effekt, fordi, for at opretholde det øjebliksbillede, hvad der betyder noget, er kun den oprindelige værdi (dvs. når snapshottet blev oprettet). Følger et diagram taget fra MSDN site:

I den samme kategori ...
E-Learning
MS Access (Avanceret) MS Access (Avanceret)
Lær at oprette og administrere databaser hurtigt og nemt. Fra 29 €.
MySQL (Kursus) MySQL (Kursus)
Forvaltning af open source-database. Fra 39 €.
SQL-og Database (Kursus) SQL-og Database (Kursus)
Oprette og administrere relationelle databaser. Fra 39 €.
Sponsorerede links