Set a database to single-user mode
Applies to:
SQL Server
This article describes how to set a user-defined database to single-user mode in SQL Server by using SQL Server Management Studio or Transact-SQL. Single-user mode specifies that only one user at a time can access the database and is generally used for maintenance actions.
Limitations
If other users are connected to the database at the time that you set the database to single-user mode, their connections to the database will be closed without warning.
The database remains in single-user mode even after the user that set the option is disconnected. At that point, a different user, but only one, can connect to the database.
Prerequisites
- Before you set the database to SINGLE_USER, verify that the AUTO_UPDATE_STATISTICS_ASYNC option is set to
OFF
. When this option is set toON
, the background thread that is used to update statistics takes a connection against the database, and you will be unable to access the database in single-user mode. For more information, see ALTER DATABASE SET Options (Transact-SQL).
Permissions
Requires ALTER permission on the database.
Use SQL Server Management Studio
To set a database to single-user mode:
In Object Explorer, connect to an instance of the SQL Server Database Engine, and then expand that instance.
Right-click the database to change, and then select Properties.
In the Database Properties dialog box, select the Options page.
From the Restrict Access option, select Single.
If other users are connected to the database, an Open Connections message will appear. To change the property and close all other connections, select Yes.
You can also set the database to Multiple or Restricted access by using this procedure. For more information about the Restrict Access options, see Database Properties (Options Page).
Use Transact-SQL
To set a database to single-user mode:
Connect to the Database Engine.
From the Standard bar, select New Query.
Copy and paste the following example into the query window and select Execute. This example sets the database to
SINGLE_USER
mode to obtain exclusive access. The example then sets the state of theAdventureWorks2022
database toREAD_ONLY
and returns access to the database to all users.
Warning
To quickly obtain exclusive access, the code sample uses the termination option WITH ROLLBACK IMMEDIATE
. This will cause all incomplete transactions to be rolled back and any other connections to the AdventureWorks2022
database to be immediately disconnected.
USE master;
GO
ALTER DATABASE AdventureWorks2022
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2022
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2022
SET MULTI_USER;
GO
Related content
Повратне информације
https://aka.ms/ContentUserFeedback.
Стиже ускоро: Током 2024. године постепено ћемо укидати проблеме са услугом GitHub као механизам повратних информација за садржај и заменити га новим системом повратних информација. За додатне информације, погледајте:Пошаљите и прегледајте повратне информације за