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

Ошибка 5070 при удалении базы данных Microsoft SQL Server

Я недавно переместил базу данных, и мне нужно удалить любую существующую старую базу данных. Поскольку я хочу полностью удалить его, я просто открываю SQL Server Enterprise Manager, нахожу базу данных и пытаюсь удалить ее. Однако я получаю следующую ошибку:

Error 5070: Database state cannot be changed while other users are using the database. ALTER DATABASE statement failed. sp_dboption command failed.

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

У вас есть пользователи, подключенные к базе данных, которые необходимо отключить. Посмотрите, кого они используют sp_who. Дополнительная информация о sp_who в MSDN. Чтобы отключить пользователей, вы можете использовать сценарий, например вот этот.

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

ALTER DATABASE alerts SET OFFLINE ROLLBACK IMMEDIATELY;

Это откатывает открытые транзакции, что изящно, но все еще немного выжжено, так как вы не узнаете, кто был подключен. Я думаю, что было бы более продуктивно посмотреть, кто подключился с помощью sp_who, чтобы вы знали, для кого вам нужно изменить строки подключения, чтобы они не могли постоянно обращаться к старому серверу.