단일 사용자 모드로 데이터베이스 설정Set a Database to Single-user Mode

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse 이 항목에서는 SQL Server Management StudioSQL Server Management Studio 또는 Transact-SQLTransact-SQL을 사용하여 SQL Server 2017SQL Server 2017에서 사용자 정의 데이터베이스를 단일 사용자 모드로 설정하는 방법에 대해 설명합니다. This topic describes how to set a user-defined database to single-user mode in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. 단일 사용자 모드는 한 번에 하나의 사용자만 데이터베이스에 액세스할 수 있도록 지정하며 일반적으로 유지 관리 동작에 사용됩니다.Single-user mode specifies that only one user at a time can access the database and is generally used for maintenance actions.

항목 내용In This Topic

시작하기 전 주의 사항Before You Begin

제한 사항Limitations and Restrictions

  • 데이터베이스를 단일 사용자 모드로 설정할 때 다른 사용자가 데이터베이스에 연결되어 있으면 해당 데이터베이스 연결이 경고 없이 닫힙니다.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 if the user that set the option logs off. 이때 다른 한 명의 사용자만 데이터베이스에 연결할 수 있습니다.At that point, a different user, but only one, can connect to the database.

필수 구성 요소Prerequisites

  • 데이터베이스를 SINGLE_USER로 설정하기 전에 AUTO_UPDATE_STATISTICS_ASYNC 옵션이 OFF로 설정되어 있는지 확인합니다.Before you set the database to SINGLE_USER, verify that the AUTO_UPDATE_STATISTICS_ASYNC option is set to OFF. 이 옵션이 ON으로 설정되면 통계 업데이트에 사용되는 백그라운드 스레드가 데이터베이스에 대한 연결을 점유하므로 사용자는 단일 사용자 모드로 데이터베이스에 액세스할 수 없습니다.When this option is set to ON, 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. 자세한 내용은 ALTER DATABASE SET 옵션(Transact-SQL)을 참조하세요.For more information, see ALTER DATABASE SET Options (Transact-SQL).

보안Security

사용 권한Permissions

데이터베이스에 대한 ALTER 권한이 필요합니다.Requires ALTER permission on the database.

SQL Server Management Studio 사용Using SQL Server Management Studio

데이터베이스를 단일 사용자 모드로 설정하려면To set a database to single-user mode

  1. 개체 탐색기에서 SQL Server 데이터베이스 엔진SQL Server Database Engine의 인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.In Object Explorer, connect to an instance of the SQL Server 데이터베이스 엔진SQL Server Database Engine, and then expand that instance.

  2. 변경할 데이터베이스를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.Right-click the database to change, and then click Properties.

  3. 데이터베이스 속성 대화 상자에서 옵션 페이지를 클릭합니다.In the Database Properties dialog box, click the Options page.

  4. 액세스 제한 옵션에서 단일을 선택합니다.From the Restrict Access option, select Single.

  5. 다른 사용자가 데이터베이스에 연결되어 있으면 열린 연결 메시지가 나타납니다.If other users are connected to the database, an Open Connections message will appear. 다른 모든 연결을 닫고 속성을 변경하려면 를 클릭합니다.To change the property and close all other connections, click 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).

Transact-SQL 사용Using Transact-SQL

데이터베이스를 단일 사용자 모드로 설정하려면To set a database to single-user mode

  1. 데이터베이스 엔진Database Engine에 연결합니다.Connect to the 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.From the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute. 이 예에서는 데이터베이스를 SINGLE_USER 모드로 설정하여 배타적 액세스 권한을 확보한 다음This example sets the database to SINGLE_USER mode to obtain exclusive access. AdventureWorks2012AdventureWorks2012 데이터베이스의 상태를 READ_ONLY 로 설정한 후 데이터베이스 액세스를 모든 사용자에게 반환합니다. 종료 옵션 WITH ROLLBACK IMMEDIATE 는 첫 번째 ALTER DATABASE 문에 지정됩니다.The example then sets the state of the AdventureWorks2012AdventureWorks2012 database to READ_ONLY and returns access to the database to all users.The termination option WITH ROLLBACK IMMEDIATE is specified in the first ALTER DATABASE statement. 완료되지 않은 트랜잭션은 모두 롤백되며 AdventureWorks2012AdventureWorks2012 데이터베이스로의 다른 모든 연결은 즉시 끊어집니다.This will cause all incomplete transactions to be rolled back and any other connections to the AdventureWorks2012AdventureWorks2012 database to be immediately disconnected.

    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
    

참고 항목See Also

ALTER DATABASE(Transact-SQL)ALTER DATABASE (Transact-SQL)