将SQL Server 2005置于单用户模式所需的SQL是什么?

Jas*_*omb 2 sql sql-server sql-server-2005

我想知道如何(以及可能的话)使用SQL语句将SQL Server 2005置于单用户模式?

我在MSDN上找到了这些说明,但是他们需要SSMS.

http://msdn.microsoft.com/en-us/library/ms345598(SQL.90,loband).aspx

*将数据库设置为单用户模式

  1. 在对象资源管理器中,连接到SQL Server 2005数据库引擎的实例,然后展开该实例.
  2. 右键单击要更改的数据库,然后单击"属性".
  3. 在"数据库属性"对话框中,单击"选项"页面.
  4. 从"限制访问"选项中,选择"单个".
  5. 如果其他用户连接到数据库,则会显示"打开连接"消息.要更改属性并关闭所有其他连接,请单击"是".*

Fro*_*kys 6

以下应该有效:

ALTER DATABASE [MyDatabase] SET SINGLE_USER WITH NO_WAIT
GO
Run Code Online (Sandbox Code Playgroud)

ALTER DATABASE [MyDatabase] SET MULTI_USER WITH NO_WAIT
GO
Run Code Online (Sandbox Code Playgroud)

将其设置回多用户

  • 应该注意的是,如果给定数据库中当前正在进行任何事务,则此语句将失败.在这种情况下,您需要发出ROLLBACK AFTER或ROLLBACK IMMEDIATE. (3认同)

Joh*_*som 5

尝试

alter database adventureWorks set SINGLE_USER with rollback immediate 
Run Code Online (Sandbox Code Playgroud)

如果您希望为已经执行的事务提供足够的时间来优雅地完成,您可以发出以下命令:

alter database adventureWorks set SINGLE_USER with rollback after 60 seconds  
Run Code Online (Sandbox Code Playgroud)