Установка однопользовательского режима базы данных
Применимо к:SQL Server
В этой статье описывается, как задать для пользовательской базы данных однопользовательский режим в SQL Server с помощью SQL Server Management Studio или Transact-SQL. Однопользовательский режим указывает, что одновременный доступ к базе данных получает только один пользователь. Это в основном используется для операций обслуживания.
ограничения
Если в процессе установки однопользовательского режима к базе данных подключены другие пользователи, то их подключения к базе данных будут закрыты без предупреждения.
База данных остается в однопользовательском режиме даже после отключения пользователя, который задал параметр. В этот момент к базе данных могут подключаться и другие пользователи, но одновременно может быть подключен только один.
Предварительные требования
- Перед заданием параметра SINGLE_USER проверьте, чтобы параметру AUTO_UPDATE_STATISTICS_ASYNC было присвоено значение OFF. Если этот параметр имеет значение ON, то фоновый поток, используемый для обновления статистики, соединится с базой данных и доступ к базе данных в однопользовательском режиме будет невозможен. Дополнительные сведения см. в статье Параметры ALTER DATABASE SET (Transact-SQL).
Permissions
Необходимо разрешение ALTER на базу данных.
Использование SQL Server Management Studio
Чтобы установить однопользовательский режим для базы данных, выполните следующие действия:
В обозревателе объектовподключитесь к экземпляру компонента Компонент SQL Server Database Engineи разверните его.
Щелкните правой кнопкой мыши базу данных, которую нужно изменить, и выберите пункт Свойства.
В диалоговом окне Свойства базы данных выберите страницу Параметры.
Для параметра Ограничение доступа выберите Один.
Если к базе данных подключены другие пользователи, то появится сообщение Открытые соединения . Чтобы изменить свойство и закрыть все остальные подключения, нажмите кнопку Да.
С помощью этой процедуры можно также установить режим одновременного или ограниченного доступа к базе данных. Дополнительные сведения о параметрах ограничения доступа см. в разделе Свойства базы данных (страница параметров).
Использование Transact-SQL
Чтобы установить однопользовательский режим для базы данных, выполните следующие действия:
Установите соединение с компонентом Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере база данных устанавливается в режим
SINGLE_USER
для получения монопольного доступа. Затем состояние базы данныхAdventureWorks2022
устанавливается вREAD_ONLY
, а также возвращается доступ к базе данных всем пользователям.
Предупреждение
Чтобы быстро получить монопольный доступ, в примере кода используется параметр завершения WITH ROLLBACK IMMEDIATE
. Произойдет откат всех незавершенных транзакций, а любые другие соединения с базой данных AdventureWorks2022
будут немедленно разорваны.
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