다음을 통해 공유


단일 사용자 모드로 데이터베이스 설정

적용 대상: SQL Server

이 문서에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 사용자 정의 데이터베이스를 단일 사용자 모드로 설정하는 방법에 대해 설명합니다. 단일 사용자 모드는 한 번에 한 명의 사용자만 데이터베이스에 액세스할 수 있으며 일반적으로 유지 관리 작업에 사용되도록 지정합니다.

제한 사항

  • 데이터베이스를 단일 사용자 모드로 설정할 때 다른 사용자가 데이터베이스에 연결된 경우 해당 데이터베이스에 대한 연결은 경고 없이 닫힙니다.

  • 옵션을 설정한 사용자가 연결이 끊어져도 데이터베이스는 단일 사용자 모드로 유지됩니다. 이 시점에서 다른 사용자만 데이터베이스에 연결할 수 있습니다.

필수 조건

  • 데이터베이스를 SINGLE_USER로 설정하기 전에 AUTO_UPDATE_STATISTICS_ASYNC 옵션이 OFF로 설정되어 있는지 확인합니다. 이 옵션을 ON으로 설정하면 통계를 업데이트하는 데 사용되는 백그라운드 스레드가 데이터베이스에 대해 연결되며, 단일 사용자 모드에서는 데이터베이스에 액세스할 수 없습니다. 자세한 내용은 ALTER DATABASE SET 옵션(Transact-SQL)을 참조하세요.

사용 권한

데이터베이스에 대한 ALTER 권한이 필요합니다.

SQL Server Management Studio 사용

데이터베이스를 단일 사용자 모드로 설정하려면 다음을 수행합니다.

  1. 개체 탐색기에서 SQL Server 데이터베이스 엔진의 인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.

  2. 변경할 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음, 속성을 선택합니다.

  3. 데이터베이스 속성 대화 상자에서 옵션 페이지를 선택합니다.

  4. 액세스 제한 옵션에서 Single을 선택합니다.

  5. 다른 사용자가 데이터베이스에 연결되어 있으면 열린 연결 메시지가 나타납니다. 속성을 변경하고 다른 모든 연결을 닫으려면 를 선택합니다.

이 절차에 따라 데이터베이스를 다중 또는 제한됨 액세스로 설정할 수도 있습니다. 액세스 제한 옵션에 대한 자세한 내용은 데이터베이스 속성(옵션 페이지)을 참조하세요.

Transact-SQL 사용

데이터베이스를 단일 사용자 모드로 설정하려면 다음을 수행합니다.

  1. 데이터베이스 엔진에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 선택합니다.

  3. 다음 예제를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다. 이 예에서는 데이터베이스를 SINGLE_USER 모드로 설정하여 전용 액세스 권한을 얻습니다. AdventureWorks2022 데이터베이스의 상태를 READ_ONLY 로 설정한 후 데이터베이스 액세스를 모든 사용자에게 반환합니다.

Warning

배타적 액세스 권한을 신속하게 얻기 위해 코드 샘플은 종료 옵션 WITH ROLLBACK IMMEDIATE를 사용합니다. 완료되지 않은 트랜잭션은 모두 롤백되며 AdventureWorks2022 데이터베이스로의 다른 모든 연결은 즉시 끊어집니다.

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