WebClub - Всероссийский Клуб Веб-разработчиков
WebClub.RU » Советы » Восстановление файлов и резервное копирование filegroup

Восстановление файлов и резервное копирование filegroup


Дата публикации: 17-10-2010

По материалам статьи Microsoft Knowledge Base «INF Restore File and Filegroup Backups in SQL Server»
Информация в этой статье относится к версиям Microsoft SQL Server 7.0 и 2000

Файлы или файлгруппы (filegroups) в базе данных могут резервироваться и восстанавливаться индивидуально. Это позволяет восстанавливать только поврежденные файлы без того, чтобы восстанавливать не повреждённую часть базы. Файлы в резервной копии файлгруппы могут быть восстановлены индивидуально или как группа. Эта статья обсуждает некоторые важные моменты и проблемы, связанных с восстановлением файлов и файлгрупп.

Прежде всего, необходимо резервировать Transaction Log!
Вы должны использовать резервную копию файла и файлгруппы, а также восстанавливать их совместно с резервными копиями transaction log. После восстановления файлов, Вы должны восстановить резервные копии transaction log, которые были созданы так же, как резервные копии файлов, чтобы обеспечить непротиворечивое состояние базы данных. Нет необходимости выполнять резервное копирование transaction log, если файлы или файлгруппы не были изменены после того, как была создана резервная копия файла или файлгруппы.

- SQL SERVER 7.0 требует, чтобы опция TruncateLogOnCheckpoint не была установлена, и чтобы резервные копии transaction log создавались в дополнение к резервной копии файлгруппы или файла базы данных.
- SQL SERVER 2000 - для создания резервной копии transaction log, Вы должны использовать Full Recovery или Bulk-Logged Recovery модель восстановления. Для получения большей информации о моделях восстановления, см. «SQL Server 2000 Books Online "Selecting a Recovery Model».

ОБРАТИТЕ ВНИМАНИЕ: Вы должны создавать полный набор резервных копий файла, включая резервные копии журнала транзакций. Отсутствие средств резервирования может стать причиной потери всей базы данных, если нет актуальной резервной копии повреждённого файла.

Не возможно прервать регенерацию отдельных файлов до её завершения. По этой причине, Вы должны всегда делать резервную копию transaction log до восстановления резервной копии файла. Если transaction log поврежден или  Вы желаете восстановить полную копию базы данных на определенное время, Вы должны восстановить полный набор резервных копий файла, прежде чем Вы примените резервные копии transaction log. Чтобы уменьшить риск повреждения transaction log, расположите его на надёжном дисковом массиве.

Если полная копия базы данных потеряна:

- Вы должны иметь резервную копию каждого файла или filegroup базы данных.
- Вы должны иметь не повреждённую резервную копию transaction log, журналирующую всю цепочку операций, начиная с самого ранней резервной копии файла или filegroup, до конца резервирования самого последнего файла или filegroup. Начало резервируемой transaction log цепочки операций должно содержать записи журнала для самой старой транзакции, не завершённой до  того момента, когда была создана самая ранняя резервная копия файла.

ОБРАТИТЕ ВНИМАНИЕ: Если какое-либо из перечисленных выше условий не будет выполнено, базу данных восстановить будет не возможно.

Резервные копии файла и Filegroup должны быть восстановлены в соответствующую базу данных:

Резервные копии файла и Filegroup могут быть восстановлены только в базу данных, которой они принадлежат. Вы не можете создавать новую, пустую базу данных с той же самой структурой и именами файлов и затем пытаться восстанавливать отдельную резервную копию файла или filegroup; Вы должны восстановить их в существующую базу данных или выполнить восстановление полной копии базы данных в другом месте. (в SQL Server 2000 есть новая возможность, позволяющая осуществлять операции восстановления базы данных RESTORE DATABASE по частям).

ОБРАТИТЕ ВНИМАНИЕ: Не пытайтесь отсоединять (detach) базу данных и затем снова прикрепить (attach) её, если файл базы данных, состоящей из нескольких файлов или filegroup, потерян. Вместо этого, восстановите необходимый файл или filegroup из резервной копии. Если база данных отсоединена, её переприкрепление окончится сбоем, и Вы будете вынуждены восстановить полную резервную копию базы данных. Это произойдёт потому, что файлы базы данных согласованы в базе данных, и этот механизм основан на глобальном идентификаторе (GUID). Этот механизм должен защитить целостность базы данных так, чтобы файлы, которые не принадлежат базе данных, не были бы смешаны с файлами базы, что может стать причиной серьезных проблем с целостностью данных. Даже притом, что Вы можете создать новую базу данных с теми же самыми именами файлов, GUID не будет соответствовать прежним значениям.

SQL Server не позволяет Вам прикреплять отдельный файл базы данных, которая содержит несколько таких файлов. При прикреплении ищутся все файлы, которые принадлежат базе к которой файл прикрепляется и, если не удаётся найти файлы с соответствующими GUID, процедура прикрепления потерпит неудачу. Аналогично, если Вы создаёте новую базу данных с теми же самыми именами файлов и filegroups, как в первоначальной базе данных, попробуйте заменить некоторые из файлов, и затем пытайтесь инициировать регенерацию базы данных, выполняющуюся после запуска SQL сервера. Регенерация окончится сбоем, о чём будет сообщено в errorlog. Например, так:

2000-11-28 13:14:52.88 spid9 Opening file C:\MSSQL7\data\f2_Data.NDF.
2000-11-28 13:14:53.01 spid9 Cannot associate files with different databases.
2000-11-28 13:14:53.14 spid9 Device activation error. The physical file name 'C:\MSSQL7\data\f2_Data.NDF' may be incorrect.

Операции частичного восстановления базы данных (Только для SQL Server 2000):

 

В SQL Server 2000 появилась новая опция PARTIAL инструкции T- SQL: RESTORE, которая обеспечивает механизм восстановления частей базы данных в другое месторасположение, причём так, чтобы поврежденные или отсутствующие данные могли быть скопированы назад, в первоначальную базу данных. Операции частичного восстановления работают с базой данных имеющей filegroups. Например, Вы имеете базу данных, которая состоит из первичной filegroup, filegroup-А и filegroup-B. Предположим, что таблица, которая постоянно находится в filegroup-B, была случайно удалена. Если Вы имеете filegroup и резервные копии transaction log доступны, чтобы восстановить удаленную таблицу, Вы можете восстановить только filegroup-B совместно с первичной filegroup. Инструкция RESTORE с предложением PARTIAL позволяет осуществлять восстановление в новую базу данных или даже на другой сервер. Вы сможете извлечь и перезагрузить содержимое таблицы в первоначальную базу данных.
Первичная filegroup всегда восстанавливается вместе с остальными filegroup, которые требуется восстановить. Filegroups, которые не восстановлены, отмечаются, как офлайновые и становятся недоступны. Частичное восстановление резервной копий файла базы данных не поддерживается.
Для получения большей информации о том, как правильно выполнять частичное восстановление базы данных, см. SQL Server 2000 Books Online «Partial Restore Operations» и «RESTORE DATABASE».

Пожалуйста, изучите следующие темы, относящиеся к файлам и filegroups:

 

SQL Server 7.0 Books Online topics:
«Physical Database Files and Filegroups»
«Using Files and Filegroups»
«Creating Filegroups»
«Creating File or Filegroup Backups»
«Using File or Filegroup Backups»
«Restoring File or Filegroup Backups»
«File and Filegroup Backup and Restore»

SQL Server 2000 Books Online topics:
«Physical Database Files and Filegroups»
«Using Files and Filegroups»
«Creating Filegroups»
«Using File Backups»
«Files and Filegroups»
«Backing up and Restoring Databases»
«Partial Database Restore Operations»
«Backing up Selected Portions of a Database»

 

 

 

 

 Для продвижения, раскрутки нового сайта обычно используются разные технологии и методы привлечения посетителей. Одним из таких эффективных методов является почтовая рассылка, которая, как показывает опыт, может существенно помочь привлечь на сайт читательскую аудиторию. Главным условием для успеха такой рассылки, конечно же, является ее содержание, которое должно быть интересным для читателей.

Популярное

Не так давно в сети появился новый сервис, под названием Dead Man Zero. Этот сервис сделал...
Рынок социальных площадок уже давно стал стабильным. Несмотря на то, что время от времени...
Artisteer 4 – единственный в своем роде продукт, позволяющий автоматизировать работу над созданием...
Март 2017 (1)
Февраль 2017 (3)
Январь 2017 (1)
Август 2016 (1)
Май 2016 (2)
Ноябрь 2015 (1)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41

Друзья сайта

Хотите продать свой сайт?
- Мы быстро и удобно для Вас сможем его купить:
  • Заявка на продажу сайта
  • Раcсматриваем цены на каждый сайт в индивидуальном порядке.

    Случайная цитата

    Роберт Кийосаки:

    "Когда люди спрашивают: «С чего мне начинать?» или «Как быстро разбогатеть?», мой ответ их часто разочаровывает. Я просто говорю им то, что когда-то говорил мне богатый папа: «Если хочешь быть богатым, нужно быть финансово грамотным»."

    Опрос

    Ваша техника?

    Настольный компютер
    Ноутбук
    Смартфон
    iPad
    iPhone
    другое