Якщо ви збираєтеся скинути базу даних, ви повинні бути єдиним підключенням до цієї бази даних. Якщо є якісь інші з'єднання, ви не можете його відмовити. З повідомлення про помилку (ця помилка означає, що ваша база даних перебуває в режимі Single_User, але вже є з’єднання, тому ви не можете підключитися). Моє припущення тут полягає в тому, що ви спробували встановити її в режимі Single_User, а потім спробували зробити краплю, але або ви схопив зв’язок, про який ви не знали, або якийсь інший процес. Той факт, що для вас спрацював перезапуск SSMS, говорить, ймовірно, ви перехопили це з'єднання. Тож ось як це можна виправити.
Логічно вам доведеться повернути базу даних у режим багатокористувача, щоб потім ви могли знову перевести її в режим однокористувача (але цього разу ви будете контролювати це єдине з'єднання, дозволене і перестане базу даних, перш ніж щось інше підключиться), і тоді ваша база даних буде не зникне.
У коді ось як це потрібно зробити ( але спочатку закрийте вікна запитів, які підключені до цієї бази даних. Перезапустіть 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