Необходимо уделять особое внимание целостности информации, с которой работает пользователь. MS SQL Server предлагает следующие типы резервного копирования информации:
· полная копия базы данных, которая является отправной точкой при восстановлении базы данных после сбоя, однако в зависимости от объема данных этот процесс может занимать много времени, поэтому не рекомендуется выполнять его слишком часто. Полная копия содержит все данные, содержащиеся в базе данных на момент окончания резервирования;
· копия журнала транзакций, необходима для фиксирования всех изменений данных, произошедших в системе с момента последнего резервного копирования. Сама копия журнала содержит сведения о транзакциях и лишь только вместе с копией базы данных позволяет вернуться к состоянию, предшествующему сбою;
· дифференциальная копия данных содержит изменения данных, произошедшие с момента последнего создания полной копии базы данных. При этом сохраняются только страницы подвергшиеся изменениям. Таким образом, для восстановления базы данных достаточно самой последней дифференциальной копии.
Для выполнения резервного копирования необходимо выбрать носитель, т.е. определить устройство, которое будет использоваться для создания копий. Для добавления устройстваиспользуется хранимая процедура:
· тип_устройства – тип устройства резервного копирования. Допустимые значения: TAPE (магнитная лента), DISK (магнитный диск);
· логическое_имя, физическое_имя – логическое и физическое имя устройства резервного копирования соответственно.
Для создания резервной копии базы данных, журнала транзакций, файлов и файловых групп необходимо воспользоваться командой:
BACKUP {LOG | DATABASE } имя_БД
[ FILE = ‘логическое_имя_файла’, ...]
[ FILEGROUP = ‘имя_группы’ ]
TO логическое_имя_устройства
[ WITH
[ DESCRIPTION = ‘комментарий’ ]
[ DIFFERENTIAL ]
[ EXPIREDATE = ‘дата’ ]
[ INIT | NOINIT ] ... ]
Описание параметров:
· DIFFERENTIAL – создается дифференциальная копия базы данных;
· EXPIREDATE – определяется дата, после которой резервная копия считается устаревшей и может быть перезаписана;
· INIT | NOINIT – система осуществляет или нет инициализацию устройства.
При восстановлении базы данных из резервной копии существующая база данных будет перезаписана. Для восстановления базы данных используется команда:
RESTORE {LOG | DATABASE } имя_БД
‘файл_или_файловая_ группа’
[ FROM логическое_имя_устройства ]
[ WITH
[ DBO_ONLY ]
[ MOVE ‘логическое_имя_файла’ TO ‘физическое_имя’ ] ... ]
Описание параметров:
· DBO_ONLY – разрешается доступ к восстановленной базе только владельцам;
· MOVE – указывает, какое физическое имя будет соответствовать восстанавливаемому файлу. По умолчанию файл восстанавливается с тем же физическим именем, которое было определено при резервном копировании.
Краткие итоги. Изучены основные физические элементы базы данных: первичные файлы, файловые группы, журнал. Продемонстрировано создание новой БД и управление ею. Показаны возможности резервного копирования и сжатия БД.
[1] Экстент – непрерывная область памяти на накопителе.