Attach и Detach базы в MS SQL
|Как присоединить или отсоединить базу данных в MS SQL, другими словами выполнить Attach и Detach.
Если Вы уже какое-то время администрируете MS SQL, то скорее всего слышали такой термин как «Приаттачить» базу или сделать ее «Деттач» / «Аттач»
Конечно, данная тема также подымается и на курсе: Администратор 1С!
Операция действительно используется довольно часто для переноса базы, к примеру, на другой сервер или экземпляр MS SQL.
И действительно, ведь чтоб перенести базу, достаточно ее просто отсоединить (выполнить Detach) и затем на новом сервере СУБД присоединить (выполнив Attach). Быстро и удобно!
Конечно, Attach и Detach базы можно использовать и в ряде других случаев, к примеру, мы хотим просто перенести лог (*ldf файл журнала транзакций) на другой диск, или вместе с базой, и здесь нам также поможет команда «Деттач» и «Аттач». Иногда даже для бэкапа файлов *ldf и *mdf ее используют, конечно, это не есть хорошо, но также верный способ позволяющий скопировать файлы.
К слову если сервер СУБД работает, плюс база «Онлайн» тогда если предварительно не сделать Detach, или не перевести базу в offline (так называемый автономный режим), скопировать лог или базу мы не сможем, получим ошибку что файл используется!
В теории разобрались, приступим к практике.
Давайте представим ситуацию, что место на диске, где у нас лежит лог файл *ldf закончилось, и возникла задача по его переносу на другой диск.
Собственно чем мы сейчас и займемся!
И так все действия мы будем проводить в Management Studio.
Находим интересующую базу, затем правый клик мышкой – «Задачи» – «Отсоединить»
(В eng версии вместо «Отсоединить» будет «Detach»).
Затем в окне отсоединения базы следует поставить птичку «Удалить соединения».
ВАЖНО! Если с базой работают пользователи (к примеру в 1С Предприятии), есть активные соединения, тогда Вы без их завершения не сможете выполнить отсоединение базы!
Как видно на скрине выше, активных соединений нет, но птичку тем не менее поставить нужно, вдруг в момент отсоединения кто-то вздумает запустить 1С Предприятие.
Конечно в любом случаи при выполнении «Detach» базы, пользователей предварительно нужно уведомить о том что база будет недоступна кокой-то промежуток времени (Если с ней работают).
Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>
Успехов Коллега!
С уважением, Богдан.
Есть вопросы? пишите в группу Telegram!
Сканируйте и присоединяйтесь к сообществу!
