ОТКЛЮЧЕНИЕ И ПОДКЛЮЧЕНИЕ БАЗЫ ДАННЫХ В SQL SERVER MANAGEMENT STUDIO
SQL-сервер позволяет подключать несколько баз данных, можно использовать одну рабочую, а одну тестовую или временно подключить другую базу данных, чтобы в будущем перенести из неё информацию в главную БД. Когда необходимость в какой-то БД отпадает, её нужно отключать.
Процедура отключения и подключения БД происходит только с помощью специальной программы Management Studio (если это 2000-ый сервер, то подключать можно ещё с помощью программы Attach, см. соответсвующий блог), которую Вам нужно установить, если есть необходимость оперировать с БД. Процесс установки и настройки есть в документации, которую можно загрузить по адресу (глава 2- Установка MS SQL Server Management Studio 2008).
Для отключения или подключения БД необходимо войти под паролем и логином в среду Microsoft SQL Server Management Studio. Так же нужно учитывать, что для отображения подключенных БД в SQL Server 2000 – в поле «Имя сервера» вводим только имя компьютера, а для SQL Server 2005 и SQL Server 2008 в поле «Имя сервера» — имя компьютера и имя екземпляра.
Откроется окно «Среда Microsoft SQL Server Management Studio».
В области «Обозреватель объектов» в ветке «Базы данных» выбираем БД, которую нужно отключить и через контекстное меню «Задачи» -> «Отсоединить» отсоединяем желаемую базу. Нужно учесть, что база не удаляется, она просто отключается от SQL-сервера.
Процедура подключения БД происходит через тоже окно, что и отключение. После того, как мы вошли в окно «Среда Microsoft SQL Server Management Studio» под паролем и логином, станьте на ветку «Базы данных», через контекстное меню выбираем пункт «Присоединить. ».
В появившемся окне указываем местоположение БД, которую нужно присоединить.
В последнем окне видна информация о присоединяемой БД: местоположение БД и название. И нажимаем «Ок» — в результате чего наша база отобразится в «Обозреватели объектов» в директории «Базы данных».
В конечном результате при загрузке GIS 6 и запросе на соединение с базой данных в поле «Базы данных» в ниспадающем списке отобразится наша подсоединённая БД.
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» базы, пользователей предварительно нужно уведомить о том что база будет недоступна кокой-то промежуток времени (Если с ней работают).
Ставить птичку возле “Обновить статистику” не рекомендую, иначе могут возникнуть на этом этапе различные ошибки, такие как перевод базы в “single user”, бывает что даже зависает Management Studio (.

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

Вот мы и смогли выполнить первую часть работы, отсоединили базу, сделали ее «Detach».
Теперь мы уже можем скопировать наш лог файл на другой диск (Рис. ниже):

И приступаем ко второму шагу по присоединению базы или как его еще называют “Приаттачим” базу используя все тот же Managmant Studio.
На “базах” правый клик мышкой и выбираем “Присоединить” / Attach.

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

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

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

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


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

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

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

Просто выбираем “Проверка подлинности Windows” при старте Managmant Studio.
И повторим действия с присоединением базы.
В случаи успеха, база вновь появится в списке баз обозревателя объектов! (Как на рисунке ниже).

Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>
MS SQL Server – удаление базы данных
Чтобы удалить базу данных из MS SQL Server, используйте команду drop database. Следующие два метода могут быть использованы для этой цели.
Метод 1 – Использование скрипта T-SQL
Ниже приведен основной синтаксис для удаления базы данных из MS SQL Server.
пример
Чтобы удалить имя базы данных «Testdb», выполните следующий запрос.
Способ 2 – Использование MS SQL Server Management Studio
Подключитесь к SQL Server и щелкните правой кнопкой мыши базу данных, которую вы хотите удалить. Нажмите команду «Удалить», и появится следующий экран.

Нажмите кнопку ОК, чтобы удалить базу данных (в данном примере это имя Testdb, как показано на приведенном выше экране) из MS SQL Server.
Выход из однопользовательского режима
в настоящее время, моя база данных находится в однопользовательском режиме. Когда я пытаюсь расширить базу данных, я получаю сообщение об ошибке:
кроме того, когда я пытаюсь удалить базу данных, я получаю сообщение об ошибке:
изменения состояния или параметров базы данных ‘my_db’ не могут быть сделаны по адресу
эта пора. База данных находится в однопользовательском режиме, и пользователю
в настоящее время подключен к нему.
Как выхожу ли я из однопользовательского режима? У меня нет ни одного пользователя, использующего эту базу данных.
когда я пытаюсь просмотреть мой сайт с IIS, ошибка, которую я получаю:
необработанное исключение во время выполнения
текущего веб-запроса. Информация о происхождении и местонахождении
исключение можно определить с помощью трассировки стека исключений ниже.
Я чувствую, как будто однопользовательский режим вызывает это.
15 ответов:
SSMS обычно использует несколько соединений с базой данных за кулисами.
вам нужно будет убить эти соединения перед изменением режима доступа.
во-первых, убедитесь, что обозреватель объектов указывает на системную базу данных, такую как master.
во-вторых, выполните процедуру sp_who2 и найдите все соединения с базой данных ‘my_db’. Убейте все соединения, сделав KILL < session id >где идентификатор сеанса-это SPID перечислены sp_who2 .
в-третьих, открыть новые окно запроса.
выполните следующий код.
посмотреть мои статья в блоге об управлении файлами базы данных. Это было написано для перемещения файлов, но управление пользователями то же самое.
во-первых, найти и KILL все процессы, которые были запущены в данный момент.
затем выполните следующие T-SQL чтобы установить базу данных в MULTI_USER режим.
чтобы выйти из однопользовательского режима, попробуйте:
ALTER DATABASE [my_db] SET MULTI_USER
чтобы переключиться в однопользовательский режим, вы можете использовать:
ALTER DATABASE [my_db] SET SINGLE_USER