Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_админ_инф_сист2.doc
Скачиваний:
21
Добавлен:
26.03.2015
Размер:
1.98 Mб
Скачать

Резервное копирование системных баз данных

Когда мы говорили о резервном копировании, речь, прежде всего, шла о пользовательских базах данных. Но не стоит забывать и о системной информации, без которой работа SQL Server 2000 будет невозможной. Наиболее критическим местом являются системные базы данных Master и Msdb. Первая из них содержит всю системную информацию о работе SQL Server 2000. Повреждение этой базы данных приведет как минимум к неправильной работе сервера, а как максимум — к невозможности запуска.

Наиболее важной для пользователя информацией, хранимой в базе данных Master, являются сведения об учетных записях, которым предоставлен доступ к SQL Server 2000, и информация о системных и пользовательских базах данных. Вся информация о пользовательских объектах баз данных, таблицах, хранимых процедурах и т. д. хранится в пользовательских базах данных. При повреждении или даже потере базы данных Master эта информация остается.

Рекомендуется выполнять архивирование базы данных Master каждый раз после выполнения важных операций: добавления учетных записей, создания или удаления баз данных, изменения настроек SQL Server 2000 и т. д.

Системная база данных Msdb содержит информацию подсистемы автоматизации SQL Server 2000, используемую службой SQLServerAgent. К указанной информации относятся данные об операторах, оповещениях и заданиях. Повреждение базы данных Msdb является гораздо менее серьезной проблемой, чем потеря базы данных Master, однако если вы активно используете подсистему автоматизации, то и это нежелательно. Если же подсистема автоматизации не используется и агент SQLServerAgent не запускается, то архивированием базы данных Msdb можно пренебречь. Базу данных Msdb можно архивировать, как обычную пользовательскую базу данных.

Для системной базы данных Master разрешается создание только полных резервных копий. То есть создание резервных копий журнала транзакций и разностных резервных копий не допускается. Для базы данных Msdb позволительно создание не только полной, но и разностной резервной копии. Однако архивирование журнала транзакций не разрешается.

Существует еще две системных базы данных — Model и Tempdb. Первая из них используется как шаблон при создании новой базы данных. Особой необходимости в ее архивировании нет. Вторая же предназначена для хранения всех временных объектов, создаваемых пользователями. Архивирование этой базы данных бессмысленно, т. к. база данных Tempdb создается заново каждый раз, когда стартует SQL Server 2000. При останове сервера происходит автоматическое уничтожение всех временных объектов и удаление самой базы данных Tempdb.

Организация резервных копий системных баз данных выполняется точно так же, как и создание резервных копий пользовательских баз данных.

Восстановление системных баз данных

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

Как уже говорилось, база данных Master является фундаментом работы SQL Server 2000. В ней содержится вся системная информация, необходимая для функционирования SQL Server 2000 — начиная от размещения пользовательских баз данных и учетных записей пользователей и заканчивая информацией о про­цессорах и объеме оперативной памяти, доступных серверу и т. д. Повреждение этой информации может привести к тому, что служба MSSQLServer не запустится, и стандартные инструменты восстановления архивов SQL Server 2000 окажутся не доступны. Однако рассмотрим сначала ситуацию, когда все же удалось запустить SQL Server 2000, и администратор может воспользоваться стандартными инструментами. В указанном случае обычно теряется информация о пользовательских базах данных или учетных записях пользователей, но остается вся системная информация.

В этой ситуации для восстановления базы данных Master применяется резервная копия, полученная с помощью средств самого SQL Server 2000. Администратор должен запустить SQL Server 2000 в однопользовательском режиме (single-user mode), чтобы никто кроме самого администратора Не мог работать с серве­ром и блокировать данные. Кроме того, перед запуском сервера в однопользовательском режиме следует удостовериться, что никакие службы, кроме службы MSSQLServer, не запускаются. В противном случае администратор не сможет работать с сервером. Это происходит потому, что с SQL Server 2000 разрешено устанавливать только одно соединение, и это соединение будет использовано дополнительной службой.

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

Мы рассмотрели методику восстановления базы данных Master средствами SQL Server 2000. Однако в некоторых случаях запуск сервера может быть невозможен, т. к. хранящаяся в базе данных Master информация является некорректной или вообще отсутствует. В подобной ситуации можно прибегнуть к одному из двух способов: запустить утилиту rebuildm.exe или восстановить базу данных Master как обычный файл операционной системы.

Утилита rebuildm.exe восстанавливает базу данных Master, распаковывая ее с инсталляционного набора SQL Server 2000 и внося в нее необходимую информацию. Файл с шаблоном базы данных Master копируется в процессе установки на жесткий диск и может быть распакован в любой момент с помощью указан­ной утилиты. Однако у такого подхода есть значительный минус — теряется любая информация, которая была наработана. База данных Master будет нахо­диться в том же состоянии, что и сразу после установки SQL Server 2000. Администратор должен будет восстанавливать все изменения вручную. Поэтому использование утилиты rebuildm.exe является крайним случаем, когда все другие возможности исчерпаны, и все что остается администратору — это добиться запуска SQL Server 2000. Однако, как уже говорилось, пользовательские базы дан­ных остаются неповрежденными, и администратор всегда может подключить их.

Последний способ восстановления базы данных Master — это копирование ее файлов. Любая база данных представляет собой набор как минимум двух файлов. Администратор может продублировать базу данных как набор файлов и при необходимости восстановить ее, скопировав эти файлы обратно. Также файлы базы данных могут быть архивированы как обычные файлы операционной системы с помощью утилиты Windows NT Backup. Однако при выполнении подобных операций следует предварительно остановить службу MSSQLServer. Когда эта служба запущена, сервер блокирует файлы базы данных от любого использования други­ми процессами, так что попытки пользователя открыть файл закончатся неудачей. Подобным способом можно создать или восстановить резервную копию любой другой пользовательской или системной базы данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]