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

Присоединение баз данных

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

Присоединение (attach) базы данных — это процесс создания в таблице sysdatabases базы данных Master новой строки с описанием базы данных. Каждая БД описывается единственной строкой, в которой указывается имя и размещение только главного, или первичного файла (primary file) базы данных. Описание всех остальных файлов, включая файлы журнала транзакций, хранится в первичном файле базы данных. Если положение этих файлов изменилось, то в процессе присоединения обновляется соответствующая информация в первичном файле.

Кроме того, что присоединение баз данных производится после восстановления поврежденной базы данных Master как неизбежная операция, присоединение может использоваться для переноса баз данных между серверами. Помимо присоединения, пользователь может также выполнять отсоединение (detach) базы данных. В этом случае из таблицы sysdatabases базы данных Master просто удаляется соответствующая строка, и SQL Server 2000 теряет информацию о существовании соответствующей БД. Файлы отсоединенной базы данных могут быть скопированы на компакт-диски и разосланы в филиалы компании, где "местные" администраторы выполнят присоединение и смогут нормально работать.

Для присоединения базы данных предназначена хранимая процедура sp_attach_db со следующим синтаксисом:

sp_attach_db [@dbname=]'dbname', [Sfilenamel =]'filenameji [,...16]

Рассмотрим использование аргументов этой хранимой процедуры.

[gdbname=]'dbname'

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

[Sfilenamel =]'filename_n [,...16]

Позволяет указать имена файлов БД. Если база данных не перемешалась, и все ее файлы находятся в тех же каталогах, что и до отсоединения, то достаточно указать имя и местоположение только главного файла (с расширением mdf). Если же база данных была перенесена в другой каталог или на другой диск, или же была скопирована с другого компьютера, то необходимо указать имена и местоположение всех файлов базы данных. Имена файлов должны отделяться запятыми. Как видно из синтаксиса, можно указать до 16 файлов базы данных.

Для отсоединения баз данных служит хранимая процедура sp_detach_db, имеющая представленный ниже синтаксис:

sp_detach_db  [Sdbname =] 'dbname' [, [Sskipchecks =] 'skipchecks']

С помощью аргумента ' dbname' указывается имя базы данных, которую необходимо отсоединить. Аргумент 'skipchecks' определяет, будет ли выполняться обновление статистики или нет. По умолчанию этому аргументу присвоено значение null. Если пользователь указывает значение true, то выполнение команды update statistics пропускается. Когда же указывается значение false, то команда update statistics выполняется.

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