^ To jest problem, który musisz rozwiązać.
Upewnij się, że nie jesteś w tej bazie danych. Zamknij wszystkie okna zapytań, które są z nim połączone, zamknij szczegóły Eksploratora obiektów, zamknij SSMS i otwórz go ponownie bez Eksploratora obiektów podłączonego do tego serwera itd. Uruchom to:
USE [master];
GO
ALTER DATABASE mydb SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
USE mydb;
GO
Powinno to pozwolić na włączenie go do trybu online, a następnie uruchomisz wymienione polecenia.
Jednak:
- Może to potrwać dłużej niż możesz, w zależności od tego, jaka czynność wycofywania ma nastąpić w sesjach, które wyrzucasz.
- Zawsze jest możliwe, że gdy ustawisz go na jednego użytkownika, inny proces może być szybszy od Ciebie i zabierze to pojedyncze połączenie. Jeśli okaże się, że tak się dzieje, możesz dowiedzieć się, kto używa sp_whoisactive
lub DMV, takie jak
sys.dm_tran_locks
- być może trzeba zawiesić łączenie aplikacji i/lub wyłączyć agenta SQL Server.