^ Toto je problém, který musíte vyřešit.
Ujistěte se, že v této databázi nejste. Zavřete všechna okna dotazů, která jsou k němu připojena, vypněte podrobnosti Průzkumníka objektů, zavřete SSMS a znovu jej otevřete bez Průzkumníka objektů připojeného k danému serveru atd. Spusťte toto:
USE [master];
GO
ALTER DATABASE mydb SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
USE mydb;
GO
To by vám mělo umožnit převést jej online a poté spustit příkazy, které jste uvedli.
Nicméně:
- Může to trvat déle, než byste mohli, v závislosti na tom, k jaké aktivitě vrácení musí dojít u relací, které ukončujete.
- Vždy je možné, že když jej nastavíte na jednoho uživatele, může být jiný proces rychlejší než vy a získat toto jediné připojení. Pokud zjistíte, že k tomu dochází, můžete zjistit, kdo to je, pomocí sp_whoisactive
nebo DMV jako
sys.dm_tran_locks
- může se stát, že budete muset pozastavit připojování aplikací a/nebo vypnout SQL Server Agent.