SQL Server 2000
Страница 53

Отсоединение и присоединение в основном используются для переноса баз данных с одного диска или сервера на другой. Если требуется скопировать базу данных на один или несколько удаленных серверов, можно выполнить резерв­ное копирование базы данных и разослать копии. Другой способ — выполнить отсоединение базы данных и разослать пользователям все ее файлы. У себя на сервере пользователи смогут выполнить присоединение базы данных и сразу же начать работать с ней. Процедура отсоединения и присоединения занимает го­раздо меньше времени, чем создание и восстановление резервной копии. Кроме того, отсоединенную базу данных можно записать на компакт-диски и разо­слать пользователям. Пользователи смогут работать с базой данных непосред­ственно с компакт-диска в режиме «только для чтения». Такой подход особенно эффективен при рассылке каталогов, которые не должны изменяться.

Если планируется скопировать базу данных на компакт-диск, предварительно необходимо устано­вить все ее группы файлов в режим «только для чтения». Для этого используется команда ALTER DATABASE MODIFY FILEGROUP filegroup_name READONLY.

Выполнять операции присоединения и отсоединения базы данных могут толь­ко члены фиксированной роли сервера sysadmin. Эти права не могут быть пе­реданы никаким другим способом, кроме как включением пользователей в эту фиксированную роль сервера.

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

sp_detach_db [@dbname =] "dbname" [, [@skipchecks =] "skipchecks"]

Аргумент "dbname" указывает имя базы данных, которую необходимо отсоеди­нить. Аргумент "skipchecks" управляет обновлением статистики при отсоедине-

нии. Если значение этого аргумента равно TRUE, то обновление статистики пропус­кается, если же указывается FALSE, то обновление статистики будет выполнено. Для отсоединения базы данных pubs нужно использовать следующую команду:

ЕХЕС sp_detach_db "pubs"

После отсоединения базы данных вы получаете в свое распоряжение набор обычных файлов, с которыми можно выполнять обычные операции, в том числе и архивирование с использованием утилиты NT Backup.

Для присоединения отсоединенной базы данных используется системная хра­нимая процедура sp_attach_db:

sp_attach_db [@dbname =] "dbname", [(Pfilenamel =] "filenameji" [, .16]

Аргумент "filename_n" должен содержать полный путь к первичному фай­лу присоединяемой базы данных. Описание остальных файлов базы данных хра­нится в первичном файле. Если положение этих файлов было изменено, то необходимо явно указать их положение при вызове хранимой процедуры — че­рез запятую в аргументе "f i lename_n".

Количество файлов, которое можно присоединить с помощью хранимой процедуры sp_attach_db, ограничивается 16. Если необходимо выполнить подключение базы данных с большим количеством файлов, используется команда CREATE DATABASE FOR ATTACH.

Для присоединения базы данных pubs нужно выполнить следующую коман­ду: sp_detach_db"pubs".

"d:\mssql\data\pubs.mdf" .

"d:\mssql\data\pubs_log.Idf"

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

sp_attach_sing1e_file_db [@dbname =] "dbname".

[@physname =] "physicaljiame"

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

Для присоединения базы данных pubs с использованием только первичного файла необходима следующая команда: sp_attach_single_file_db "pubs", "d:\mssql\data\pubs.mdf"

Передача прав владения

Если администратор баз данных вашей компании увольняется и ему на смену приходит другой человек, необходимо передать права владения всеми объекта­ми, включая базы данных, новому администратору.

Страницы: 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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63