Как удалить базу данных в SQL Server с помощью C#
Уважаемый, я использую SQL Server 2008.
В моем приложении Windows есть поле со списком всех баз данных.
Я хочу удалить базу данных, выбранную в выпадающем списке.
Но когда я запускаю свой запрос, возникает следующее исключение:
Невозможно удалить базу данных "dm12", потому что она в настоящее время используется
Вот код
USE dm12
GO
DROP DATABASE dm12
GO
2 ответа
Если вы хотите удалить базу данных, используйте master
базы данных, а затем удалить базу данных.
замещать
USE dm12
С
USE Master;
Убедитесь, что в SQL Server Management Studio не открыта вкладка запроса с тем же подключением к базе данных.
И если вы по-прежнему получаете то же исключение, просто полностью закройте SQL Server Management Studio. Откройте его снова и подключите как обычно
Если у вас достаточно прав, следующий код почти гарантирует, что вы можете успешно удалить базу данных. Но зачем удалять базу данных прямо с уровня приложения, как вы управляете риском, кто-то случайно удаляет базу данных....
Изменение базы данных на одного пользователя и немедленный откат приведет к откату всех незавершенных транзакций и немедленному отключению любых других подключений к базе данных dm12.
USE master;
GO
ALTER DATABASE dm12
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
DROP DATABASE dm12;
GO