Перевод базы данных SQL Server в Offline(перевести в автономный режим)

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Ответить
Перевод базы данных SQL Server в Offline(перевести в автономный режим)
При переводе базы в автономный режим (задачи - перевести в автономный режим) просто зависает и все.
Потом вываливается ошибка: ALTER DATABASE failed because a lock could not be placed on database
А иногда и не вываливается просто висит, как решить проблему ?
Microsoft SQL Server Management Studio можно столкнуться с ситуацией, когда процедура перевода базы данных в Offline затягивается на очень длительное время…

Решение:
правой кнопкой по бд - Создать запрос(Query):

Цитата

USE master
GO
ALTER DATABASE [Имя базы данных] SET OFFLINE WITH ROLLBACK IMMEDIATE
GO

...инструкции WITH ROLLBACK IMMEDIATE, которая должна закрыть все активные соединения …но по факту может быть: ALTER DATABASE failed because a lock could not be placed on databas

И чтобы понять кто занимает бд (информацию об активных сессиях )
Цитата

USE master
GO
SELECT * FROM sys.sysprocesses WHERE dbid = DB_ID('Имя базы данных')
GO

Из полученного вывода станет понятно, – какой именно пользователь и из какого приложения “держит” нашу базу данных. Одним из интересующих нас показателей будет идентификатор соединения — spid

image
Помимо представленного примера информацию о всех активных соединениях к серверу БД можно получить с помощью хранимых процедур sp_who или sp_who2:

Цитата
EXEC sp_who2
Выяснив идентификатор соединения можно его “прибить” командой:
Цитата

KILL <spid>


После сброса активных сессий интересующая нас база данных должна успешно завершить переход состояние Offline.
Страницы: 1
Ответить
Форма ответов
Текст сообщения*
:) ;) :D 8) :( :| :cry: :evil: :o :oops: :{} :?: :!: :idea:
Защита от автоматических сообщений. Введите символы, изображенные на этой картинке в поле ввода &quote;Код подтверждения&quote;.