..


Sponsrade länkar

Databas Ögonblicksbilder i SQL Server

Artikel skriven av Vincent Gaglio
Sidan 1 av 3

En databas ögonblicksbild är ett verktyg (som infördes med SQL Server 2005) som möjliggör skrivskyddad kopia av en databas vid en viss tidpunkt. En ögonblicksbild har alla kännetecken på en vanlig databas, men på det du kan bara söka i data och förändringar.

Denna teknik är mycket användbar i många situationer, till exempel:

  • Om du vill skapa en data-historia;
  • eller för att skapa en "återställningspunkt" innan du redigerar mycket komplexa och riskfyllda;
  • eller för att säkra tillgången lettuare data på en sekundär server;
  • osv.
T-SQL-kod att använda när du skapar en ögonblicksbild liknar följande





 CREATE DATABASE ON mio_database_snapshot_ottobre

 





 (NAME = N'test_file "

 





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

 





 SOM ögonblicksbild av mio_database;



Med dessa instruktioner vi säger till SQL Server för att skapa en databas ögonblicksbild och kallar det mio_database mio_database_snapshot_ottobre. Dessutom ger vi ett namn (namn) och ange sökvägen till den plats där du vill spara (filnamn).

Och "bra att lagra dina bilder i en separat mapp från var de bor databasfiler.

Låt oss nu undersöka hur hela processen.
En ögonblicksbild, som tidigare nämnts, är en skrivskyddad, statisk syn på en databas. När du skapar en uppfattning att vissa händelser inträffar:

  • skapar så kallade glesa filer (tomma filer som kommer att fyllas av tekniken med copy-on-write);
  • skapar en checkpoint av databasen;
  • om det finns några pågående transaktioner de ignoreras;
Gles-filer (eller "gles-filer") innehåller inga data som visar deras egendom - med hjälp av Windows Explorer - kommer du att märka att de har en virtuell dimension som motsvarar den i källdatabasen och en storlek på disk som 0KB eller en multipel av 64KB.

Dessa filer är hjärtat i ögonblicksbild, kräver litet utrymme och deras skapande är extremt snabbt även om du arbetar med en stor databas. När du väl skapat dessa filer, är en mekanism som startas när du skriver kopiera (copy-on-write): är i huvudsak dessa filer är tomma och deras innehåll kommer att skrivas precis innan en sida på källdatabasen modifierad för första tid (efter ögonblicksbild skapande).
Eventuella förändringar efter den första inte har någon effekt, för i syfte att upprätthålla ögonblicksbilden, det viktiga är bara det ursprungliga värdet (det vill säga när ögonblicksbilden skapades). Följer ett diagram som tas från MSDN:

I samma kategori ...
E-Learning
MS Access (avancerat) MS Access (avancerat)
Lär dig skapa och hantera databaser snabbt och enkelt. Från 29 €.
MySQL (kurs) MySQL (kurs)
Hantering av öppen källkod databas. Från 39 €.
SQL och databas (kurs) SQL och databas (kurs)
Skapa och hantera relationsdatabaser. Från 39 €.
Sponsrade länkar