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