Назад | Перейти на главную страницу

SQL2005 зависает в режиме пользователя с одним режимом

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

Я попытался

ALTER DATABASE DB SET MULTI_USER

но получить

Msg 5064, уровень 16, состояние 1, строка 1 В настоящее время нельзя изменить состояние или параметры базы данных «DB». База данных находится в однопользовательском режиме, и в настоящее время к ней подключен пользователь. Msg 5069, уровень 16, состояние 1, строка 1 Оператор ALTER DATABASE завершился неудачно.

Когда я щелкаю правой кнопкой мыши по базе данных, чтобы перейти к свойствам, я получаю

Database "DB" is already open and can only have one user at a time.

Любые идеи ?

SELECT * from sys.databases -> получить database_id из базы данных.

SELECT * FROM MASTER..SysProcesses WHERE dbid = [thedbid] (введите свой db id)

Посмотрите на спида, чтобы убить

KILL [theid]

Использовать SP_Who чтобы найти идентификатор сеанса активного подключения к базе данных.

Использовать KILL <session id> чтобы разорвать соединение.

Затем сделайте Alter Database команда, которую вы пробовали.

В самом худшем случае, если никакой другой метод не сработает, вы сможете перезагрузить сервер, чтобы отключить любое соединение с базой данных, а затем перевести его в многопользовательский режим после перезагрузки.

В том же окне запроса, в котором вы пробовали ALTER DATABASE DB SET MULTI_USER, пытаться... ALTER DATABASE DB SET MULTI_USER WITH ROLLBACK IMMEDIATE

Я получил то же самое при попытке перейти из однопользовательского режима в автономный. Непонятная проблема с (возможным) неясным решением:

  1. Выполните запрос ниже. Это должно дать вам ошибку «Однопользовательская». выберите * из sys.SysProcesses

  2. Переключитесь на панель «Результаты». Определите ПОСЛЕДНИЙ spid в списке.

  3. Предположим, что последний SPID в панели результатов, который будет отображаться, равен 70. Убейте следующий spid. УБИТЬ 71

Это освободило для меня связь. Я предполагаю, что запрос sys.sysprocesses возвращает результаты, пока не попадет в базу данных, к которой не может подключиться.