Поделиться через


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

Часто администратору базы данных (dba) служб Analysis Services необходимо на некоторое время перевести базу данных в автономный режим, а затем перевести ее в оперативный режим на том же или на другом экземпляре сервера. Такие ситуации часто обусловлены потребностями предприятия, например необходимостью переместить базу данных на другой диск для повышения производительности, освободить место для увеличения размера базы данных или при обновлении какого-либо продукта. В этих и других случаях команды Attach и Detach позволяют администратору базы данных служб Analysis Services переводить базу данных в автономный режим и обратно в оперативный с минимальными усилиями.

Команды Attach и Detach

Команда Attach позволяет перевести базу данных из автономного режима в оперативный. База данных может быть присоединена как к исходному, так и к любому другому экземпляру сервера. При присоединении базы данных пользователь может указать для нее значение свойства ReadWriteMode. Команда Detach позволяет перевести базу данных на сервере в автономный режим.

Использование команд Attach и Detach

Команда Attach позволяет перевести в оперативный режим существующую структуру базы данных. Если база данных присоединена в режиме ReadWrite, она может быть присоединена к экземпляру сервера только один раз. Если же база данных присоединена в режиме ReadOnly, она может быть присоединена к нескольким экземплярам сервера. Это, однако, не означает, что база данных может быть присоединена к одному экземпляру сервера более одного раза. Если попытаться сделать это (даже после копирования данных в другую папку), будет выдана ошибка.

Важное примечаниеВажно!

Если для отсоединения базы данных потребовался пароль, для ее присоединения необходим тот же пароль.

Команда Detach позволяет перевести в автономный режим существующую структуру базы данных. При отсоединении базы данных можно указать пароль для защиты конфиденциальных метаданных.

Важное примечаниеВажно!

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

При отсоединении базы данных сервер выполняет следующие шаги.

Отсоединение базы данных в режиме чтения и записи

Отсоединение базы данных в режиме только для чтения

  1. Сервер выполняет запрос блокировки CommitExclusive в базе данных

  2. Сервер ожидает, пока все входящие транзакции завершатся фиксацией или откатом

  3. Сервер формирует все метаданные, необходимые для отсоединения базы данных

  4. База данных помечена как удаленная

  5. Сервер фиксирует транзакцию

  1. База данных помечена как удаленная

  2. Сервер фиксирует транзакцию

ПримечаниеПримечание
Нельзя сменить пароль для базы данных в режиме только для чтения. Если указать пароль для присоединяемой базы данных, уже защищенной паролем, возникнет ошибка.

Команды Attach и Detach должны выполняться в пределах одной операции. Они не могут сочетаться в одной транзакции с другими операциями. Кроме того, команды Attach и Detach являются атомарными транзакционными командами. Это означает, что только вся операция целиком может завершиться либо успешно, либо неуспешно. База данных не может остаться в незавершенном состоянии.

Важное примечаниеВажно!

Чтобы выполнить команду Detach, необходимы права администратора сервера или базы данных.

Важное примечаниеВажно!

Чтобы выполнить команду Attach, необходимы права администратора сервера.