Microsoft SQL Server: База данных уже открыта и одновременно к ней может обращаться только один пользователь

  • 15.10.2023
  • 2 290
  • 0
  • 7
  • 7
  • 0
Microsoft SQL Server: База данных уже открыта и одновременно к ней может обращаться только один пользователь

Описание проблемы

При переводе базы данных в режим одного пользователя (Single User mode) можно столкнуться с тем, что после перевода базы в данный режим, доступ к ней оказывается потерян, со следующим сообщением:

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

Связано это с тем, что в режиме одного пользователя, существует подключение, которое блокирует ваши попытки к ней подключиться. Ниже мы разберемся с тем, как выявить это подключение, завершить его и при необходимости перевести базу в многопользовательский режим (Multi User mode).

Исправление проблемы

Решить данную проблему можно следующим способом.

  1. В обозревателе объектов SSMS выберем системную базу данных master, и нажмем на ней правой кнопкой мыши, после чего выберем в контекстном меню пункт "Создать запрос".
  2. В тексте запроса напишем sp_who2, и нажмем на кнопку "Выполнить".
  3. В результатах поиска ищем по столбцу DBName нужную базу данных, и смотрим, кто её использует. Найдя нужную запись, запоминаем значение столбца SPID.
  4. Вновь выбираем системную базу данных master, нажмем на ней правой кнопкой мыши, и выбираем в контекстном меню пункт "Создать запрос".
  5. Напишем и выполним запрос kill [НОМЕР SPID], используя ранее полученное значение SPID.
  6. Открываем новое окно с запросом, и выполняем там необходимый запрос. Или, если вам нужно вернуть базу в многопользовательский режим, то выполняем следующую команду:
    USE MASTER;
    ALTER DATABASE [ИМЯ БАЗЫ ДАННЫХ] SET MULTI_USER
    GO

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

Была ли эта статья Вам полезна?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Напоминаем Вам, что Ваше сообщение будет опубликовано только после проверки администратором сайта. Обычно это занимает 1-2 рабочих дня.