DROP DATABASE(Transact-SQL)DROP DATABASE (Transact-SQL)

이 항목은 다음에 적용됩니다.예SQL Server(2008부터 시작)예Azure SQL Database예Azure SQL Data Warehouse 예병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

SQL ServerSQL Server 인스턴스에서 하나 이상의 사용자 데이터베이스 또는 데이터베이스 스냅숏을 제거합니다.Removes one or more user databases or database snapshots from an instance of SQL ServerSQL Server.

항목 링크 아이콘 Transact-SQL 구문 규칙Topic link icon Transact-SQL Syntax Conventions

구문Syntax

-- SQL Server Syntax  
DROP DATABASE [ IF EXISTS ] { database_name | database_snapshot_name } [ ,...n ] [;]  
-- Azure SQL Database, Azure SQL Data Warehouse and Parallel Data Warehouse Syntax   
DROP DATABASE database_name [;]  

인수Arguments

경우에 존재IF EXISTS
적용 대상: SQL ServerSQL Server ( SQL Server 2016SQL Server 2016 ~ 현재 버전).Applies to: SQL ServerSQL Server ( SQL Server 2016SQL Server 2016 through current version).

조건에 따라 이미 있는 경우에 데이터베이스를 삭제 합니다.Conditionally drops the database only if it already exists.

database_namedatabase_name
제거할 데이터베이스의 이름을 지정합니다.Specifies the name of the database to be removed. 사용 하 여 데이터베이스의 목록을 표시 하려면는 sys.databases 카탈로그 뷰에 있습니다.To display a list of databases, use the sys.databases catalog view.

database_snapshot_namedatabase_snapshot_name
적용 대상: SQL Server 2008SQL Server 2008 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2008SQL Server 2008 through SQL Server 2017SQL Server 2017.

제거할 데이터베이스 스냅숏의 이름을 지정합니다.Specifies the name of a database snapshot to be removed.

일반적인 주의 사항General Remarks

데이터베이스는 오프라인, 읽기 전용 및 주의 대상과 같은 상태에 관계없이 삭제할 수 있습니다.A database can be dropped regardless of its state: offline, read-only, suspect, and so on. 데이터베이스의 현재 상태를 표시 하려면 사용 된 sys.databases 카탈로그 뷰.To display the current state of a database, use the sys.databases catalog view.

삭제된 데이터베이스는 백업 복원을 통해서만 다시 만들 수 있습니다.A dropped database can be re-created only by restoring a backup. 데이터베이스 스냅숏은 백업할 수 없으므로 복원할 수 없습니다.Database snapshots cannot be backed up and, therefore, cannot be restored.

데이터베이스를 삭제할 때는 master 데이터베이스 를 백업 해야 합니다.When a database is dropped, the master database should be backed up.

데이터베이스를 삭제하면 SQL ServerSQL Server 인스턴스에서 데이터베이스가 삭제되며 데이터베이스가 사용하는 물리적 디스크 파일도 삭제됩니다.Dropping a database deletes the database from an instance of SQL ServerSQL Server and deletes the physical disk files used by the database. 삭제 시 데이터베이스 또는 해당 데이터베이스의 파일 중 하나가 오프라인 상태이면 디스크 파일은 삭제되지 않습니다.If the database or any one of its files is offline when it is dropped, the disk files are not deleted. 이 파일은 Windows 탐색기를 사용해 수동으로 삭제할 수 있습니다.These files can be deleted manually by using Windows Explorer. 파일 시스템에서 파일을 삭제 하지 않고 현재 서버에서 데이터베이스 제거를 사용 하 여 sp_detach_db합니다.To remove a database from the current server without deleting the files from the file system, use sp_detach_db.

경고

FILE_SNAPSHOT 있는 데이터베이스를 삭제 하는 중 연결 된 백업이 성공 하지만 연결 된 스냅숏이 있는 데이터베이스 파일 백업을이 데이터베이스 파일에 참조를 무효화를 방지 하기 삭제 되지 않습니다.Dropping a database that has FILE_SNAPSHOT backups associated with it will succeed, but the database files that have associated snapshots will not be deleted to avoid invalidating the backups referring to these database files. 파일을 자를 수 있지만 FILE_SNAPSHOT 백업의 그대로 유지 하기 위해 물리적으로 삭제 되지 않습니다.The file will be truncated, but will not be physically deleted in order to keep the FILE_SNAPSHOT backups intact. 자세한 내용은 Microsoft Azure Blob 저장소 서비스로 SQL Server 백업 및 복원을 참조하세요.For more information, see SQL Server Backup and Restore with Microsoft Azure Blob Storage Service. 적용 대상: SQL Server 2016SQL Server 2016 통해 현재 버전합니다.Applies to: SQL Server 2016SQL Server 2016 through current version.

SQL ServerSQL Server

데이터베이스 스냅숏을 삭제하면 SQL ServerSQL Server 인스턴스에서 데이터베이스 스냅숏이 삭제되고 스냅숏이 사용하는 물리적 NTFS 파일 시스템 스파스 파일도 삭제됩니다.Dropping a database snapshot deletes the database snapshot from an instance of SQL ServerSQL Server and deletes the physical NTFS File System sparse files used by the snapshot. 데이터베이스 스냅숏의 스파스 파일을 사용 하는 방법에 대 한 정보를 참조 하십시오. 데이터베이스 스냅숏 ( SQL Server ) .For information about using sparse files by database snapshots, see Database Snapshots (SQL Server). 데이터베이스 스냅숏을 삭제하면 SQL ServerSQL Server의 인스턴스에 대한 계획 캐시가 삭제됩니다.Dropping a database snapshot clears the plan cache for the instance of SQL ServerSQL Server. 계획 캐시를 삭제하면 모든 후속 실행 계획이 다시 컴파일되며 일시적으로 갑자기 쿼리 성능이 저하될 수 있습니다.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. 계획 캐시의 삭제된 각 캐시스토어에 대해 SQL ServerSQL Server 오류 로그에 "데이터베이스 유지 관리 또는 재구성 작업으로 인해 '%s' 캐시스토어(계획 캐시의 일부)에 대한 캐시스토어 플러시가 SQL ServerSQL Server에서 %d번 발견되었습니다"라는 정보 메시지가 있습니다.For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations". 이 메시지는 캐시가 해당 시간 간격 내에 플러시되는 동안 5분마다 기록됩니다.This message is logged every five minutes as long as the cache is flushed within that time interval.

상호 운용성Interoperability

SQL ServerSQL Server

트랜잭션 복제를 위해 게시된 데이터베이스 또는 병합 복제를 위해 게시 또는 구독된 데이터베이스를 삭제하려면 먼저 데이터베이스에서 복제를 제거해야 합니다.To drop a database published for transactional replication, or published or subscribed to merge replication, you must first remove replication from the database. 데이터베이스가 손상되었거나 복제를 먼저 제거할 수 없거나 또는 두 가지 모두 해당되는 경우, 대부분 ALTER DATABASE를 사용해 데이터베이스를 오프라인으로 설정한 뒤 삭제하는 방식으로 데이터베이스를 삭제할 수 있습니다.If a database is damaged or replication cannot first be removed or both, in most cases you still can drop the database by using ALTER DATABASE to set the database offline and then dropping it.

데이터베이스에서 로그 전달 작업을 수행하고 있는 경우 데이터베이스를 삭제하기 전에 로그 전달을 제거하세요.If the database is involved in log shipping, remove log shipping before dropping the database. 자세한 내용은 로그 전달 정보(SQL Server)를 참조하세요.For more information, see About Log Shipping (SQL Server).

제한 사항Limitations and Restrictions

시스템 데이터베이스 삭제할 수 없습니다.System databases cannot be dropped.

DROP DATABASE 문은 자동 커밋 모드로 실행되어야 하며 명시적이거나 암시적인 트랜잭션에서는 허용되지 않습니다.The DROP DATABASE statement must run in autocommit mode and is not allowed in an explicit or implicit transaction. 자동 커밋 모드는 기본 트랜잭션 관리 모드입니다.Autocommit mode is the default transaction management mode.

사용 중인 데이터베이스는 삭제할 수 없습니다.You cannot drop a database currently being used. 즉, 사용자가 읽기 또는 쓰기 작업을 위해 데이터베이스를 열어 놓은 상태이기 때문입니다.This means open for reading or writing by any user. 데이터베이스에서 사용자를 제거하려면 ALTER DATABASE를 사용해 데이터베이스를 SINGLE_USER로 설정하세요.To remove users from the database, use ALTER DATABASE to set the database to SINGLE_USER.

SQL ServerSQL Server

데이터베이스를 삭제하려면 먼저 데이터베이스의 모든 데이터베이스 스냅숏을 삭제해야 합니다.Any database snapshots on a database must be dropped before the database can be dropped.

스트레치 데이터베이스에 대 한 데이터베이스 사용을 삭제 하는 중입니다. 원격 데이터는 제거 되지 않습니다.Dropping a database enable for Stretch Database does not remove the remote data. 원격 데이터를 삭제 하려는 경우 수동으로 제거 해야 합니다.If you want to delete the remote data, you have to remove it manually.

Azure SQL 데이터베이스Azure SQL Database

데이터베이스를 삭제하려면 master 데이터베이스에 연결해야 합니다.You must be connected to the master database to drop a database.

DROP DATABASE 문은 SQL 일괄 처리에서 유일한 문이어야 하고 한 번에 하나의 데이터베이스를 삭제할 수 있습니다.The DROP DATABASE statement must be the only statement in a SQL batch and you can drop only one database at a time.

Azure SQL 데이터 웨어하우스Azure SQL Data Warehouse

데이터베이스를 삭제하려면 master 데이터베이스에 연결해야 합니다.You must be connected to the master database to drop a database.

DROP DATABASE 문은 SQL 일괄 처리에서 유일한 문이어야 하고 한 번에 하나의 데이터베이스를 삭제할 수 있습니다.The DROP DATABASE statement must be the only statement in a SQL batch and you can drop only one database at a time.

PermissionsPermissions

SQL ServerSQL Server

필요는 제어 데이터베이스에 대 한 권한 또는 ALTER ANY DATABASE 권한 또는 멤버 자격에는 db_owner 고정된 데이터베이스 역할입니다.Requires the CONTROL permission on the database, or ALTER ANY DATABASE permission, or membership in the db_owner fixed database role.

Azure SQL 데이터베이스Azure SQL Database

(프로 비전 프로세스로 만들어진) 서버 수준 보안 주체 로그인 또는의 멤버는 dbmanager 데이터베이스 역할에서 데이터베이스를 삭제할 수 있습니다.Only the server-level principal login (created by the provisioning process) or members of the dbmanager database role can drop a database.

병렬 데이터 웨어하우스Parallel Data Warehouse

필요는 제어 데이터베이스에 대 한 권한 또는 ALTER ANY DATABASE 권한 또는 멤버 자격에는 db_owner 고정된 데이터베이스 역할입니다.Requires the CONTROL permission on the database, or ALTER ANY DATABASE permission, or membership in the db_owner fixed database role.

Examples

1.A. 단일 데이터베이스 삭제Dropping a single database

다음 예에서는 Sales 데이터베이스를 제거합니다.The following example removes the Sales database.

DROP DATABASE Sales;  

2.B. 여러 데이터베이스 삭제Dropping multiple databases

적용 대상: SQL Server 2008SQL Server 2008 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2008SQL Server 2008 through SQL Server 2017SQL Server 2017.

다음 예에서는 각 나열된 된 데이터베이스를 제거 합니다.The following example removes each of the listed databases.

DROP DATABASE Sales, NewSales;  

3.C. 데이터베이스 스냅숏 삭제Dropping a database snapshot

적용 대상: SQL Server 2008SQL Server 2008 부터 SQL Server 2017SQL Server 2017까지Applies to: SQL Server 2008SQL Server 2008 through SQL Server 2017SQL Server 2017.

다음 예에서는 이라는 데이터베이스 스냅숏을 제거 sales_snapshot0600를 원본 데이터베이스 영향을 주지 않고 합니다.The following example removes a database snapshot, named sales_snapshot0600, without affecting the source database.

DROP DATABASE sales_snapshot0600;  

관련 항목:See Also

ALTER DATABASE(Transact-SQL) ALTER DATABASE (Transact-SQL)
CREATE DATABASE(SQL Server Transact-SQL) CREATE DATABASE (SQL Server Transact-SQL)
EVENTDATA(Transact-SQL) EVENTDATA (Transact-SQL)
sys.databases(Transact-SQL)sys.databases (Transact-SQL)