Мне нужно немедленно отключить базу данных, но скрытое соединение блокирует 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, БД тоже будет отключена.