Резервное копирование: планирование и реализация


Восстановление отдельных страниц данных



бет20/27
Дата25.03.2022
өлшемі141,86 Kb.
#136696
1   ...   16   17   18   19   20   21   22   23   ...   27
Байланысты:
2-зертханалық жұмыс ББД

Восстановление отдельных страниц данных


В некоторых случаях в файлах базы данных могут быть повреждены отдельные страницы данных. В этом случае для восстановления БД можно восстановить отдельные страницы, что быстрее, чем восстановление всей базы данных или даже восстановление только поврежденного файла.
Существуют ограничения: могут быть восстановлены только страницы данных (восстановление страниц не может быть использовано ни для восстановления журнала транзакций, ни для восстановления страницы размещения, ни для восстановления загрузочных страниц базы данных или файлов). Восстановление страницы применяется к базам данных SQL Server, где используется модель полного восстановления или модель восстановления с неполным протоколированием, поддержка восстановления страниц осуществляется только для файловых групп, доступных для чтения и записи.
Первым признаком повреждения страниц, как правило, является возникновение ошибки 823 или 824 при запросе таблицы. Чтобы выявить потенциально поврежденные страницы, можно использовать команду DBCC CHECKDB и запрос к системной таблице suspect_pages в базе данных MSDB. Эта таблица содержит идентификатор каждой пораженной страницы, наряду с подробной информацией о потенциальной проблеме. В данной таблице приводится идентификатор страницы каждой страницы. С помощью этой информации, вы можете восстановить поврежденные страницы, используя инструкцию RESTORE DATABASE, или в среде SSMS с помощью диалогового окна Восстановить страницу (Restore Page).
Восстановление поврежденных страниц можно выполнить при сохранении базы данных в оперативном режиме. Online-восстановление поддерживается только в SQL Server Enterprise Edition. Можно выполнить восстановление страниц в автономном режиме. На время проведения восстановления страниц в автономном режиме база данных переключается в соответствующий режим. В конце последовательности восстановления база данных переходит в режим online.
Следующий пример кода выполняет онлайн-восстановление двух страниц:
-- Restore pages from the full backup
RESTORE DATABASE AdventureWorks PAGE='1:55, 1:207'
FROM DISK = 'R:\Backups\AdventureWorks.bak' WITH FILE=1, NORECOVERY;
-- Apply the differential backup RESTORE DATABASE AdventureWorks
FROM DISK = 'R:\Backups\AdventureWorks.bak' WITH FILE=3, NORECOVERY;
-- Restore subsequent transaction log backups RESTORE LOG AdventureWorks
FROM DISK = 'R:\Backups\AdventureWorks.bak' WITH FILE=4, NORECOVERY;
-- Backup the log
BACKUP LOG AdventureWorks
TO DISK = 'R:\Backups\AW-Log.bak';
-- Restore the log to set the correct REDO LSN and recover RESTORE LOG AdventureWorks
FROM DISK = 'R:\Backups\AW-Log.bak' WITH RECOVERY;


Достарыңызбен бөлісу:
1   ...   16   17   18   19   20   21   22   23   ...   27




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет