SQL Server 2008 R2 застрял в однопользовательском режиме

Вопрос:Выполняя развертывание БД (из проекта базы данных VS SQL Server) в локальной базе данных, которая не удалась, база данных осталась в состоянии, когда он имеет режим одиночного пользователя (развертывание выполняется как однопользовательский режим), Когда я подключаюсь к нему из SSMS и пробую что-то вроде следующего: ALTER DATABASE MyDatabase SET MULTI_USER; GO Я получаю сообщение об

Вопрос:

Выполняя развертывание БД (из проекта базы данных VS SQL Server) в локальной базе данных, которая не удалась, база данных осталась в состоянии, когда он имеет режим одиночного пользователя (развертывание выполняется как однопользовательский режим),

Когда я подключаюсь к нему из SSMS и пробую что-то вроде следующего:

ALTER DATABASE MyDatabase SET MULTI_USER; GO

Я получаю сообщение об ошибке:

В настоящее время невозможно изменить состояние или параметры базы данных “MyDatabase”. База данных находится в однопользовательском режиме, и пользователь в настоящее время подключен к ней.

Я пробовал использовать базу данных в автономном режиме, и SSMS говорит мне, что она преуспевает, но, похоже, она ничего не делает. До сих пор мне удалось обойти это, сбросив и воссоздав базу данных (что вроде хорошо, потому что это только локальная тестовая база данных). Тем не менее, я хотел бы иметь возможность reset статуса.

Как я могу убедить SQL Server взять эту базу данных из однопользовательского режима?

Лучший ответ:

В первом запуске следующий запрос в основной базе данных

exec sp_who

Если вы не можете найти преступника, попробуйте

SELECT request_session_id FROM sys.dm_tran_locks WHERE resource_database_id = DB_ID(‘YourDatabase’)

Затем уничтожьте весь процесс, который использует вашу базу данных, со следующим запросом:

KILL spid

Затем запустите следующий запрос:

USE Master ALTER DATABASE YourDatabase SET MULTI_USER Ответ №1

Это ответ был здесь, код:

use master ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE —do you stuff here ALTER DATABASE YourDatabase SET MULTI_USER Ответ №2

Используйте DAC (выделенное соединение с администратором). Убедитесь, что вы включили его сначала
В SSMS-типа в admin: для имени сервера
после подключения к мастеру ALTER DATABASE SET MULTI_USER

Ответ №3

Попробуйте выполнить следующие команды

Сначала запустите эти три команды

USE [master] SET DEADLOCK_PRIORITY HIGH exec sp_dboption MyDBName, ‘single user’, ‘FALSE’;

Второй запуск этих двух команд

ALTER DATABASE MyDBName SET MULTI_USER WITH NO_WAIT ALTER DATABASE MyDBName SET MULTI_USER WITH ROLLBACK IMMEDIATE

Оцените статью
Добавить комментарий