Администриране на бази данни


Категория на документа: Информатика


EXEC sp_addumpdevice 'disk' , 'StoreFull', 'c:backupstore_full.bak';

USE master
GO
EXEC sp_addumpdevice 'disk' , 'StoreLog', 'c:backupstoreLog_1.bak';

След като имаме стратегията за архивиране, на база на нея следва да се изгради стратегия за възстановяване. Преди възстановяване на БД е необходимо тя да се подготви за възстановяване. Трябва да се направи проверка на архивите с оператора RESTORE. След това ни е нужна информация за архивния файл или файлове - RESTORE HEADERONLY дава нужната информация като името, описанието на архивния файл, типа на архивното устройство, датата и часа на създаване на архива и т.н. . RESTORE FILELISTONLY осигурява информация за оригиналната БД или log файла. Необходима ни е и информация за архивното устройство, която може да получим с оператора RESTORE LABELONLY. И като последна стъпка проверяваме дали архивните файлове са пълни и читаеми с оператор RESTORE VERIFYONLY.

За коректното възстановяване на БД е необходимо да се ограничи достъпа до БД и да се архивира log - файла непосредствено след срива на БД.

Нека имаме следната ситуация:

Data
Log
Пълен архив на БД
Log1
Log2
Log3
Log4
Сряда -20h

8 h 12 h 16 h 17.30 h 20 h Четвъртък
Архивиране на транзакционния лог

В четвъртък в 17.30 часа се получава срив на системата. Тъй като типа на архивиране е пълен архив и архиви на транзакционния лог, възстановяването ще стане по следния начин. След като сме направили подготовка за възстановяване на БД по начина описан по-горе изпълняваме следното: Първо е нужно да се архивира текущия транзакцонен лог с опция NO_TRANCATE (без изрязване) т.е в нашия случай това е Log 3. След това се изпълнява възстановяване от последния пълен архив с опция NORECOVERY. В нашата ситуация последният архив е направен в сряда 18.00 часа. Следващата стъпка е прилагане на архивите на транзакционния лог в тяхната последователност с опция NORECOVERY. При създалата се ситуация ще трябва да приложим Log 1 и Log2. Последната стъпка, която изпълняваме е възстановяване от последния архив на транзакционния лог с опция RECOVERY - Log 2. Log 1 е възстановен с опция NORECOVERY.

BACKUP LOG Store TO StoreLog_1 WITH NO_TRUNCATE

GO

RESTORE DATABASE Store

FROM Store_1

WITH ,NORECOVERY

GO

RESTORE LOG Store

FROM StoreLog_1

WITH FILE=1,NORECOVERY

GO

RESTORE LOG Store

FROM StoreLog_1

WITH FILE=2,RECOVERY



Сподели линка с приятел:





Яндекс.Метрика
Администриране на бази данни 9 out of 10 based on 2 ratings. 2 user reviews.