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

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

本主题内容

  • 开始之前:

    限制和局限

    必备条件

    安全性

  • 若要将数据库设置为单用户模式,请使用:

    SQL Server Management Studio

    Transact-SQL

开始之前

限制和局限

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

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

必备条件

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

安全性

权限

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

用于“返回首页”链接的箭头图标[Top]

使用 SQL Server Management Studio

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

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

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

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

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

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

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

用于“返回首页”链接的箭头图标[Top]

使用 Transact-SQL

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

  1. 连接到数据库引擎。

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

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

用于“返回首页”链接的箭头图标[Top]

请参阅

参考

ALTER DATABASE (Transact-SQL)