我想知道如何使用SQL语句将SQL Server 2005置于单用户模式(以及可能的扩展)?
我在MSDN上找到了这些说明,但他们需要SSMS。
http://msdn.microsoft.com/en-us/library/ms345598(SQL.90,loband).aspx
*将数据库设置为单用户模式
答案 0 :(得分:6)
以下内容应该有效:
ALTER DATABASE [MyDatabase] SET SINGLE_USER WITH NO_WAIT
GO
带
ALTER DATABASE [MyDatabase] SET MULTI_USER WITH NO_WAIT
GO
将其设置回多用户
答案 1 :(得分:5)
尝试
alter database adventureWorks set SINGLE_USER with rollback immediate
如果您希望为已经执行的交易提供足够的时间来优雅地完成,您可以发出以下命令:
alter database adventureWorks set SINGLE_USER with rollback after 60 seconds
答案 2 :(得分:0)
在每个数据库的基础上,您可以使用以下方式设置单用户模式:
ALTER DATABASE database_name SET SINGLE_USER
如果其他用户登录并使用数据库,则必须先杀死他们的spid,否则会失败。您可以编写一个基本上从sysprocesses
中选择的脚本,并为针对您的目标dbid列出的每个spid发出一个KILL命令。
答案 3 :(得分:0)
请参阅msdn
alter database X
set single_user
答案 4 :(得分:0)
我找到了这些命令:
ALTER DATABASE [dbName] SET MULTI_USER WITH NO_WAIT
ALTER DATABASE [dbName] SET SINGLE_USER WITH NO_WAIT
或
EXEC sp_dboption'dbName','single user','false'
EXEC sp_dboption'dbName','single user','true'
在:
http://www.kodyaz.com/articles/alter-single-user-multi-user-mode.aspx
试一试。