데이터베이스 분리Detach a Database

이 항목에서는 SQL Server 2017SQL Server 2017 또는 SQL Server Management StudioSQL Server Management Studio 을 사용하여 Transact-SQLTransact-SQL의 데이터베이스를 분리하는 방법에 대해 설명합니다.This topic describes how to detach a database in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. 분리된 파일은 그대로 남아 있으며 FOR ATTACH 또는 FOR ATTACH_REBUILD_LOG 옵션과 함께 CREATE DATABASE를 사용하여 다시 연결할 수 있습니다.The detached files remain and can be reattached by using CREATE DATABASE with the FOR ATTACH or FOR ATTACH_REBUILD_LOG option. 또한 파일을 다른 서버로 이동하거나 첨부할 수 있습니다.The files can be moved to another server and attached there.

항목 내용In This Topic

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

제한 사항 Limitations and Restrictions

제한 사항 목록은 데이터베이스 분리 및 연결(SQL Server)의 데이터베이스를 분리하는 방법에 대해 설명합니다.For a list of limitations and restrictions, see Database Detach and Attach (SQL Server).

보안 Security

사용 권한 Permissions

db_owner 고정 데이터베이스 역할의 멤버 자격이 필요합니다.Requires membership in the db_owner fixed database role.

SQL Server Management Studio 사용 Using SQL Server Management Studio

데이터베이스를 분리하려면To detach a database

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

  2. 데이터베이스를 확장한 다음 분리할 사용자 데이터베이스 이름을 선택합니다.Expand Databases, and select the name of the user database you want to detach.

  3. 데이터베이스 이름을 마우스 오른쪽 단추로 클릭하고 태스크를 가리킨 다음 분리를 클릭합니다.Right-click the database name, point to Tasks, and then click Detach. 데이터베이스 분리 대화 상자가 나타납니다.The Detach Database dialog box appears.

    분리할 데이터베이스Databases to detach
    분리할 데이터베이스를 나열합니다.Lists the databases to detach.

    Database NameDatabase Name
    분리할 데이터베이스 이름을 표시합니다.Displays the name of the database to be detached.

    연결 삭제Drop Connections
    지정한 데이터베이스에 대한 연결을 끊습니다.Disconnect connections to the specified database.

    참고

    활성 연결이 있는 데이터베이스는 분리할 수 없습니다.You cannot detach a database with active connections.

    통계 업데이트Update Statistics
    기본적으로 분리 작업은 데이터베이스를 분리할 때 오래된 최적화 통계를 유지합니다. 기존의 최적화 통계를 업데이트하려면 이 확인란을 클릭합니다.By default, the detach operation retains any out-of-date optimization statistics when detaching the database; to update the existing optimization statistics, click this check box.

    전체 텍스트 카탈로그 유지Keep Full-Text Catalogs
    기본적으로 분리 작업은 데이터베이스와 연결된 모든 전체 텍스트 카탈로그를 유지합니다.By default, the detach operation keeps any full-text catalogs that are associated with the database. 전체 텍스트 카탈로그를 제거하려면 전체 텍스트 카탈로그 유지 확인란의 선택을 취소합니다.To remove them, clear the Keep Full-Text Catalogs check box. 이 옵션은 데이터베이스를 SQL Server 2005SQL Server 2005에서 업그레이드하는 경우에만 표시됩니다.This option appears only when you are upgrading a database from SQL Server 2005SQL Server 2005.

    상태Status
    준비 또는 준비 안 됨상태 중 하나를 표시합니다.Displays one of the following states: Ready or Not ready.

    메시지Message
    다음과 같이 메시지 열에 데이터베이스에 대한 정보가 표시될 수도 있습니다.The Message column may display information about the database, as follows:

    • 데이터베이스가 복제와 관련된 경우 상태준비 안 됨 이고 메시지 열에는 데이터베이스 복제 완료가 표시됩니다.When a database is involved with replication, the Status is Not ready and the Message column displays Database replicated.

    • 데이터베이스에 하나 이상의 활성 연결이 있는 경우 상태준비 안 됨이고 메시지 열에는 <number_of_active_connections>활성 연결(예: 1 활성 연결)이 표시됩니다.When a database has one or more active connections, the Status is Not ready and the Message column displays <number_of_active_connections>Active connection(s) — for example: 1 Active connection(s). 데이터베이스를 분리하려면 먼저 연결 삭제를 선택하여 모든 활성 연결을 끊어야 합니다.Before you can detach the database, you need to disconnect any active connections by selecting Drop Connections.

      메시지에 대한 자세한 내용을 보려면 하이퍼링크로 연결된 텍스트를 클릭하여 작업 모니터를 엽니다.To obtain more information about a message, click the hyperlinked text to open Activity Monitor.

  4. 데이터베이스를 분리할 준비가 되었으면 확인을 클릭합니다.When you are ready to detach the database, click OK.

참고

새로 분리된 데이터베이스는 뷰를 새로 고칠 때까지 개체 탐색기의 데이터베이스 노드에 계속 표시됩니다.The newly detached database will remain visible in the Databases node of Object Explorer until the view is refreshed. 뷰는 언제든지 새로 고칠 수 있습니다. 개체 탐색기 창을 클릭한 다음 메뉴 모음에서 보기 , 새로 고침을 차례로 선택합니다.You can refresh the view at any time: Click in the Object Explorer pane, and from the menu bar select View and then Refresh.

Transact-SQL 사용 Using Transact-SQL

데이터베이스를 분리하려면To detach a database

  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. 이 예에서는 skipchecks가 true로 설정된 AdventureWorks2012 데이터베이스를 분리합니다.This example detaches the AdventureWorks2012 database with skipchecks set to true.

EXEC sp_detach_db 'AdventureWorks2012', 'true';  

참고 항목See Also

데이터베이스 분리 및 연결(SQL Server) Database Detach and Attach (SQL Server)
sp_detach_db(Transact-SQL) sp_detach_db (Transact-SQL)