У меня такая же проблема, как здесь: SQL2005 зависает в режиме пользователя с одним режимом
Единственная разница, я использую SQL Server 2008. Все пробовал, ничего не работает. Когда я бегу
ALTER DATABASE [CS_10.1] SET MULTI_USER
или
ALTER DATABASE [CS_10.1] SET MULTI_USER WITH ROLLBACK IMMEDIATE
после разрыва соединения я получаю следующее сообщение:
Msg 1205, уровень 13, состояние 68, строка 1 Транзакция (идентификатор процесса 56) была заблокирована на ресурсах блокировки с другим процессом и была выбрана в качестве жертвы взаимоблокировки. Повторите транзакцию. Msg 5069, уровень 16, состояние 1, строка 1 Оператор ALTER DATABASE завершился неудачно.
Новое спящее соединение с однопользовательской базой данных немедленно воссоздается после уничтожения.
Также SET DEADLOCK_PRIORITY 10;
не помогает.
Что еще я могу сделать? Заранее спасибо.
Получил снова работать. В моем случае помогло следующее:
EXEC sp_who
KILL spid_taken_from_sp_who;
SET DEADLOCK_PRIORITY 10;
ALTER DATABASE [db_name] SET MULTI_USER WITH NO_WAIT