Установка однопользовательского режима базы данных

Применимо к: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

Чтобы установить однопользовательский режим для базы данных, выполните следующие действия:

  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент SQL Server Database Engineи разверните его.

  2. Щелкните правой кнопкой мыши базу данных, которую нужно изменить, и выберите пункт Свойства.

  3. В диалоговом окне Свойства базы данных выберите страницу Параметры.

  4. Для параметра Ограничение доступа выберите Один.

  5. Если к базе данных подключены другие пользователи, то появится сообщение Открытые соединения . Чтобы изменить свойство и закрыть все остальные подключения, нажмите кнопку Да.

С помощью этой процедуры можно также установить режим одновременного или ограниченного доступа к базе данных. Дополнительные сведения о параметрах ограничения доступа см. в разделе Свойства базы данных (страница параметров).

Использование Transact-SQL

Чтобы установить однопользовательский режим для базы данных, выполните следующие действия:

  1. Установите соединение с компонентом Компонент Database Engine.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере база данных устанавливается в режим 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

Следующие шаги