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

本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2014 中将用户定义数据库设置为单用户模式。 单用户模式指定一次只有一个用户可访问数据库,该模式通常用于维护操作。

本主题内容

开始之前

限制和局限

  • 如果其他用户在您将数据库设置为单用户模式时连接到了数据库,则他们与数据库的连接将被关闭,且不发出警告。

  • 即使设置此选项的用户已注销,数据库仍保持单用户模式。 这时,其他用户(但只能是一个)可以连接到数据库。

先决条件

  • 在将数据库设置为 SINGLE_USER 之前,应验证 AUTO_UPDATE_STATISTICS_ASYNC 选项是否设置为 OFF。 在此选项设置为 ON 时,用于更新统计信息的后台线程将与数据库建立连接,您将无法以单用户模式访问数据库。 有关详细信息,请参阅 ALTER DATABASE SET 选项 (Transact-SQL)

安全性

权限

需要对数据库拥有 ALTER 权限。

使用 SQL Server Management Studio

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

  1. 对象资源管理器中,连接到 SQL Server 数据库引擎的实例,然后展开该实例。

  2. 右键单击要更改的数据库,再单击“属性”

  3. “数据库属性” 对话框中,单击 “选项” 页。

  4. “限制访问” 选项中,选择 “单用户”

  5. 如果其他用户连接到数据库,将出现 “打开的连接” 消息。 若要更改属性并关闭所有其他连接,请单击 “是”

还可以使用此过程将数据库设置为“多用户”访问或“限制”访问。 有关限制访问选项的详细信息,请参阅 数据库属性 (选项页)

“使用 Transact-SQL”

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

  1. 连接到 数据库引擎。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 此示例将数据库设置为 SINGLE_USER 模式,以获得独占访问权。 然后,该示例将 AdventureWorks2012 数据库的状态设置为 READ_ONLY ,并将数据库的访问权限返回到所有用户。终止选项 WITH ROLLBACK IMMEDIATE 在第一 ALTER DATABASE 个语句中指定。 这将导致所有未完成事务都将被回滚,并将立刻断开 AdventureWorks2012 示例数据库的所有其他连接。

USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO

另请参阅

ALTER DATABASE (Transact-SQL)