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

Принудительно заблокировать базу данных в автономном режиме во время SET OFFLINE

Мне нужно немедленно отключить базу данных, но скрытое соединение блокирует SET OFFLINE операция. Я попытался отключить его от SQL Server Management Studio, который вызвал бы ALTER DATABASE <database_name> SET OFFLINE, вместо того ALTER DATABASE <database_name> SET OFFLINE WITH NO-WAIT как я должен был.

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

Как мне отменить блокировку SET OFFLINE операция без отключения всего моего экземпляра?


Обновить: В итоге я перезапустил свой экземпляр службы SQL, который быстро снял блокировку, но это было нежелательно. Я все еще хотел бы знать, как убить соединения, блокирующие SET OFFLINE операция.

Короткий ответ: выполните следующий sql:

USE MASTER
ALTER DATABASE <database_name> SET SINGLE_USER  with rollback immediate

Видеть этот ТАК вопрос для получения дополнительной информации / ссылок

Вы не можете отменить офлайн-команду: она будет ждать, пока не сможет это сделать.

Ты можешь УБИЙСТВО однако оскорбительное соединение.

Вы может иметь возможность убить оператор ALTER DATABASE, но IIRC он уже выполнен.

Если вы перезапустите SQL Server, БД тоже будет отключена.