Exit single-user mode
SSMS in general uses several connections to the database behind the scenes.
You will need to kill these connections before changing the access mode.
First, make sure the object explorer is pointed to a system database like master.
Second, execute a sp_who2
and find all the connections to database 'my_db'.
Kill all the connections by doing KILL { session id }
where session id is the SPID
listed by sp_who2
.
Third, open a new query window.
Execute the following code.
-- Start in master
USE MASTER;
-- Add users
ALTER DATABASE [my_db] SET MULTI_USER
GO
See my blog article on managing database files. This was written for moving files, but user management is the same.
First, find and KILL
all the processes that have been currently running.
Then, run the following T-SQL
to set the database in MULTI_USER
mode.
USE master
GO
DECLARE @kill varchar(max) = '';
SELECT @kill = @kill + 'KILL ' + CONVERT(varchar(10), spid) + '; '
FROM master..sysprocesses
WHERE spid > 50 AND dbid = DB_ID('<Your_DB_Name>')
EXEC(@kill);
GO
SET DEADLOCK_PRIORITY HIGH
ALTER DATABASE [<Your_DB_Name>] SET MULTI_USER WITH NO_WAIT
ALTER DATABASE [<Your_DB_Name>] SET MULTI_USER WITH ROLLBACK IMMEDIATE
GO
To switch out of Single User mode, try:
ALTER DATABASE [my_db] SET MULTI_USER
To switch back to Single User mode, you can use:
ALTER DATABASE [my_db] SET SINGLE_USER