Если вы собираетесь удалить базу данных, вы должны быть единственным подключением к этой базе данных. Если есть какие-либо другие соединения, вы не можете сбросить их. Из сообщения об ошибке (эта ошибка означает, что ваша база данных находится в режиме Single_User, но соединение уже установлено, поэтому вы не можете подключиться), я предполагаю, что вы пытались установить его в режим Single_User, а затем пытались выполнить удаление, но либо вы захватил соединение, о котором вы не знали, или какой-то другой процесс. Тот факт, что перезапуск SSMS сработал для вас, говорит мне о том, что вы, вероятно, захватили это соединение. Вот как вы можете это исправить.
Логически вы должны перевести базу данных обратно в режим multi_user, чтобы затем снова перевести ее в режим single_user (но на этот раз вы будете контролировать одно разрешенное соединение и сбросить базу данных до того, как что-то еще подключится), и тогда ваша база данных будет уйти
В коде вот как вам нужно это сделать ( но сначала закройте окна запросов, которые связаны с этой базой данных. Перезапустите SSMS и убедитесь, что вы не выбираете эту базу данных в браузере объектов ):
-- Then attempt to take your database to multi_user mode, do this from master
USE MASTER
GO
ALTER DATABASE myDatabaseName
SET multi_user WITH ROLLBACK IMMEDIATE
GO
-- Now put it into single_user mode and drop it. Use Rollback Immediate to disconnect any sessions and rollback their transactions. Safe since you are about to drop the DB.
ALTER DATABASE myDatabaseName
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
DROP DATABASE myDatabaseName
GO