Odzyskiwanie bazy po awarii – MSSQL 2008 cz.8

Print Friendly, PDF & Email

Równie ważnym jak tworzenie kopii zapasowych jest ich późniejsze odzyskiwanie w przypadku awarii.

1) Nowy wpis:

Na początku dodajmy do naszej bazy nowy wpis:

USE AdventureWorks2008
GO

INSERT INTO HumanResources.Department (Name, GroupName)
VALUES(’Test4′, 'Test4′)
GO


2) Stopujemy instancję bazy:



3) Kasujemy plik danych:



4) Sprawdzenie działania:

Po ponownym uruchomieniu instancji baza będzie niedostępna dla użytkowników.

5) Odzyskiwanie bazy (pełna+różnicowa):

Przed przystąpieniem do właściwego trybu odzyskiwania bazy, robimy backup dziennika transakcji, który został po usunięciu przez nas pliku danych.

BACKUP LOG AdventureWorks2008
TO DISK = 'c:BackupAdventureWorks2008_3.trn’
WITH COMPRESSION, INIT, CHECKSUM, NO_TRUNCATE
GO

Teraz przejdziemy do właściwego procesu odzysku naszej uszkodzonej bazy:

RESTORE DATABASE AdventureWorks2008
FROM =’c:BackupAdventureWorks2008_1.bak’
WITH STANDBY = ’c:BackupAdventureWorks2008.stn
GO

W tym momencie powinniśmy mieć dostęp do naszej bazy, jednak dodane nowe wpisy nie będą widoczne Test1-Test4.

W następnym kroku odzyskamy różnicową kopię danych, po tej czynności powinny pojawić się nowe wpisy: Test1-Test3.

RESTORE DATABASE AdventureWorks2008
FROM =’c:BackupAdventureWorks2008_1.dif’
WITH STANDBY = ’c:BackupAdventureWorks2008.stn
GO

Na koniec

RESTORE DATABASE AdventureWorks2008
WITH RECOVERY
GO

6) Odzyskiwanie dzienników transakcji:

RESTORE DATABASE AdventureWorks2008
FROM =’c:BackupAdventureWorks2008_1.bak’
WITH STANDBY = ’c:BackupAdventureWorks2008.stn
   REPLACE
GO


Przywracanie 1 kopii dziennika transakcji (pojawi się Test1):

RESTORE DATABASE AdventureWorks2008
FROM =’c:BackupAdventureWorks2008_1.trn’
WITH STANDBY = ’c:BackupAdventureWorks2008.stn
GO


Pojawi się Test2:

RESTORE DATABASE AdventureWorks2008
FROM =’c:BackupAdventureWorks2008_2.trn’
WITH STANDBY = ’c:BackupAdventureWorks2008.stn
GO

Pojawi się Test3 oraz Test4

RESTORE DATABASE AdventureWorks2008
FROM =’c:BackupAdventureWorks2008_3.trn’
WITH STANDBY = ’c:BackupAdventureWorks2008.stn
GO

Po wykonaniu poniższego kodu baza będzie dostępna dla użytkowników:

RESTORE DATABASE AdventureWorks2008
WITH RECOVERY
GO


Print Friendly, PDF & Email

Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT