sobota, 12 października 2013

Migawki bazy danych - MSSQL 2008 cz.9

Jedną z nowych funkcji wprowadzonych w SQL 2005 jest migawka. Jest kolejnym typem wykonywania kopii zapasowej bazy danych. W odróżnieniu od już opisanych jest typem tylko do odczyty, przez co w kopii nie ma dziennika transakcji. Jak wszystko również migawka pomimo szybkości jej tworzenia posiada ograniczenia:

- nie obsługuje FILESTREAM,
- nie można odłączyć bazy na której wykonana została migawka,
- migawki nie działają na systemowej bazie (master, model, tempdb, msdb)
- jako że migawka to kopia zapasowa, nie można jej ponownie zarchiwizować,
- migawka musi znajdować się w tej samej instancji co baza źródłowa



Snapshot z punktu widzenia serwera SQL to pewna specyficzna baza danych. Na początku nie zawiera ona w sobie żadanych danych. Wszystkie dane znajdują się w oryginalnej bazie danych. Dopiero z czasem, kiedy oryginalna baza danych ulega zmianom, stare zawartości modyfikowanych stron bazy danych są przenoszone do pliku migawki.

Jeżeli oryginalna baza danych miała 3 pliki, w których przechowuje swoje dane, to migawka również będzie się składała z 3 plików.

Bazę danych można przywrócić z migawki, oczywiście do stanu danych w którym została utworzona, ponieważ migawka nie zawiera kopi dziennika transakcji. Migawka po utworzeniu nie zawiera zbyt dużo miejsca, jednak przy intensywnym wykorzystywaniu bazy, wszystkie dane zostaną przeniesione z bazy głównej do migawki, a to już kosztuje miejsce na dyskach.

1) Tworzenie migawki:

CREATE DATABASE AdventureWorks2008SnapShot ON

  ( NAME= N'AdventureWorks2008_Data', FILENAME = N'c:\backup\Adventureworks2008.ds'),
   (NAME= N'AdventureWorks2008FT', FILENAME = N'c:\backup\Adventureworks2008FT.ds'),
AS SNAPSHOT OF AdventureWorks2008
GO

Możemy porównać zawartne informacje pomiędzy naszą główną bazą a migawką:

SELECT * FROM AdventureWorks2008.sys.database_files
SELECT * FROM AdventureWorks2008SnapShot.sys.database_files

2) Odzyskanie:

RESTORE DATABASE AdventureWorks2008

FROM DATABASE_SNAPSHOT = 'AdventureWorks2008SnapShot'






Brak komentarzy:

Prześlij komentarz