Zaten Tek Kullanıcı modunda olan veritabanına erişmeye çalışırsanız, önce veritabanına olan tüm bağlantıları kapatmanız gerekir, aksi takdirde bir hata iletisi alırsınız:
Msg 5064, Seviye 16, Durum 1, Satır 1 'VeritabanıAdı' veritabanının durumunda veya seçeneklerinde şu anda değişiklik yapılamıyor. Veritabanı tek kullanıcı modunda ve şu anda bir kullanıcı ona bağlı. Msg 5069, Düzey 16, Durum 1, Satır 1 ALTER DATABASE deyimi başarısız oldu.
Aşağıdaki sorgu veritabanına erişen süreçleri öldürür:
-- Create the sql to kill the active database connections
declare @execSql varchar(1000), @databaseName varchar(100)
-- Set the database name for which to kill the connections
set @databaseName = 'DatabaseName'
set @execSql = ''
select @execSql = @execSql + 'kill ' + convert(char(10), spid) + ' '
from master.dbo.sysprocesses
where db_name(dbid) = @databaseName
and
DBID <> 0
and
spid <> @@spid
exec(@execSql)
GO
Ardından, veritabanını her zamanki gibi Çoklu Kullanıcı moduna getirebilmeniz gerekir:
ALTER DATABASE 'DatabaseName' SET MULTI_USER