Attach и Detach базы в MS SQL

Как присоединить или отсоединить базу данных в MS SQL, другими словами выполнить Attach и Detach.

Attach и Detach базы в MS SQL

Если Вы уже какое-то время администрируете MS SQL, то скорее всего слышали такой термин как «Приаттачить» базу или сделать ее «Деттач» / «Аттач»

Конечно, данная тема также подымается и на курсе: Администратор 1С!

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

И действительно, ведь чтоб перенести базу, достаточно ее просто отсоединить (выполнить Detach) и затем на новом сервере СУБД присоединить (выполнив Attach). Быстро и удобно!

Конечно, Attach и Detach базы можно использовать и в ряде других случаев, к примеру,  мы хотим просто перенести лог (*ldf файл журнала транзакций) на другой диск, или вместе с базой, и здесь нам также поможет команда «Деттач» и «Аттач». Иногда даже для бэкапа файлов *ldf и *mdf ее используют, конечно, это не есть  хорошо, но также верный способ позволяющий скопировать файлы.

К слову если сервер СУБД работает, плюс  база «Онлайн» тогда если предварительно не сделать Detach, или не перевести базу в offline (так называемый автономный режим), скопировать лог или базу мы не сможем, получим ошибку что файл используется!

Attach и Detach базы в MS SQL

В теории разобрались, приступим к практике.

Давайте представим ситуацию, что место на диске, где у нас лежит лог файл *ldf закончилось, и возникла задача по его переносу на другой диск.

Собственно чем мы сейчас и займемся!

И так все действия мы будем проводить в Management Studio.

Находим интересующую базу, затем правый клик мышкой – «Задачи» – «Отсоединить»

Attach и Detach базы в MS SQL

(В eng версии вместо  «Отсоединить» будет «Detach»).

Затем в окне отсоединения базы следует поставить птичку «Удалить соединения».

Attach и Detach базы в MS SQL

ВАЖНО! Если с базой работают пользователи (к примеру в 1С Предприятии), есть активные соединения, тогда Вы без их завершения не сможете выполнить отсоединение базы!

Как видно на скрине выше, активных соединений нет, но птичку тем не менее поставить нужно, вдруг в момент отсоединения кто-то вздумает запустить 1С Предприятие.

Конечно в любом случаи при выполнении «Detach» базы, пользователей предварительно нужно уведомить о том что база будет недоступна кокой-то промежуток времени (Если с ней работают).

Продолжение статьи доступно только зарегистрированным пользователям!

Зарегистрироваться / Войти

Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>

Успехов Коллега!

С уважением, Богдан.



Есть вопросы? пишите в группу Telegram!

Сканируйте и присоединяйтесь к сообществу!