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» базы, пользователей предварительно нужно уведомить о том что база будет недоступна кокой-то промежуток времени (Если с ней работают).

Ставить птичку возле «Обновить статистику» не рекомендую, иначе могут возникнуть на этом этапе различные ошибки, такие как перевод базы в «single user», бывает что даже зависает Management Studio (.

Attach и Detach базы в MS SQL

После успешного отсоединения базы она исчезает из списка «Обозревателя объектов» (Но не из диска, там все файлы будут на месте и mdf и ldf) как на рисунке ниже.

Attach и Detach базы в MS SQL

Вот мы и смогли выполнить первую часть работы, отсоединили базу, сделали ее «Detach».

Теперь мы уже можем скопировать наш лог файл на другой диск (Рис. ниже).

Attach и Detach базы в MS SQL

И приступаем ко второму шагу по присоединению базы или как его еще называют «Приаттачим» базу используя все тот же Managmant Studio.

На «базах» правый клик мышкой и выбираем «Присоединить» / Attach.

Attach и Detach базы в MS SQL

Затем в окне «Присоединения базы» клик по кнопке «Добавить»

Attach и Detach базы в MS SQL

Сперва укажем расположение файла mdf (база). У меня это диск E:\DATA\BUHG1C.mdf

Attach и Detach базы в MS SQL

После того как мы кликнем по кнопке «ОК» увидим в окне ниже что MS SQL предполагает, что расположение файла лога соответствует расположению базы mdf, но конечно, лога по указанному месту уже нет, мы его переместили на другой диск, и теперь его следует указать вручную!

Attach и Detach базы в MS SQL

 

Укажем новое расположение лога кликнув по кнопке «…»

Attach и Detach базы в MS SQL

Диск H:\LOGSSD\BUHG1C_log.ldf

Attach и Detach базы в MS SQL

Убедившись что новое расположение лога указанно верно, можно кликнуть по кнопке «ОК».

Attach и Detach базы в MS SQL

ВНИМАНИЕ! Если получили ошибку (рис. ниже)

Attach и Detach базы в MS SQL

Тогда скорее всего Вы пытаетесь выполнить данную операцию под пользователем (рутом) «SA».

Все что нужно сделать, так это выполнить данную операцию от Администратора Windows (Если установили смешанный режим проверки подлинности, еще на этапе установки самого MS SQL). 

Attach и Detach базы в MS SQL

Просто выбираем «Проверка подлинности Windows» при старте Managmant Studio.

И повторим действия с присоединением базы.

В случаи успеха, база вновь появится в списке баз обозревателя объектов! (Как на рисунке ниже).

Attach и Detach базы в MS SQL

 

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

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

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

 

Программа помощник Администратора 1С

Скачай бесплатно YaAdmin !
Программа YaAdmin помощник администратора 1С

Уроки Бесплатно!

Узнайте как правильно администрировать 1С