안녕하세요. SQLER의 코난 김대우입니다. 
이번 강좌에서는, 4-5. 데이터베이스 삭제를 진행 하겠습니다.


SQLER에서 진행되는, 챗GPT와 함께 배우는 SQL Server 강좌 목록

 

이번 강좌는 데이터베이스 삭제입니다. 관리 도구인 SSMS에서 삭제하는 방법과 SQL 쿼리를 이용해 삭제하는 방법이 있습니다. 

 

 

 

TL;DR

데이터베이스 삭제를 SSMS와 SQL 쿼리로 수행합니다. 삭제 시, “사용 중” 오류가 발생하면, 해당 세션을 종료하고 삭제 작업을 수행합니다.

 

 

SSMS에서 데이터베이스 삭제

SSMS에서 이렇게 데이터베이스를 선택하고 삭제를 수행합니다.

55-1-데이터베이스삭제.png

이미지 - 데이터베이스 삭제 선택

 

55-2-데이터베이스삭제처리.png

이미지 - 데이터베이스 삭제 처리

 

이렇게 백업과 복원 “기록”도 삭제할 건지를 묻습니다. 체크하면 백업과 복원 기록도 사라집니다. (참고로, 백업과 복원 작업에 대한 기록은 msdb 시스템 데이터베이스에 저장됩니다.)

 

 

SQL 쿼리로 데이터베이스 삭제

다음 쿼리로 데이터베이스를 삭제할 수 있습니다.

 

DROP DATABASE database_name [ ,...n ]


SQL 쿼리 예제로 살펴보겠습니다. 

--TEST용 데이터베이스를 기본 설정으로 3개 만든다.
CREATE DATABASE TEST1;
GO

CREATE DATABASE TEST2;
GO

CREATE DATABASE TEST3;
GO

--TEST용 데이터베이스 1을 삭제한다.
DROP DATABASE TEST1;
GO

--TEST용 데이터베이스 2, 3을 동시에 삭제한다.
DROP DATABASE TEST2, TEST3;

 

SQL 쿼리로 데이터베이스 삭제를 시도할 때 데이터베이스가 “사용 중”이라 삭제가 안된다는 오류(Cannot drop database because it is currently in use)가 발생할 수 있습니다. 


아래 쿼리를 수행해 해당 데이터베이스를 사용하는 세션을 kill 하고 drop을 수행하면 됩니다. 이전 데이터베이스 생성 강좌를 참조하세요.

-- 데이터베이스 사용자를 자동 kill 하는 SQL 쿼리
-- 수행 전에 중요 작업 프로세스가 있는지 미리 체크하고 실행
USE master;
GO

DECLARE @kill varchar(max) = '';
SELECT @kill = @kill + 'KILL ' + CONVERT(varchar(10), spid) + '; '
FROM master..sysprocesses 
WHERE spid > 50 AND dbid = DB_ID('Your_DB_Name');  -- 데이터베이스 이름으로 변경
EXEC(@kill);
GO

-- 실행하면 SINGLE_USER 설정.
ALTER DATABASE Your_DB_Name SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

-- 이후 데이터베이스 삭제 수행.
DROP DATABASE Your_DB_Name;

 

데이터베이스 삭제는 되돌릴 수 없는 중요한 작업입니다. 중요 데이터베이스라면, 데이터베이스 관련 백업을 모두 잘 진행했는지, 다시 체크하고 신중하게 데이터베이스를 삭제하세요.
 

 

SQL 강좌 책 구매

강좌가 도움이 되셨다면, 책으로 구매 가능합니다. 책 판매 수익금은 전액 코딩 교육 사회공헌 활동에 기부되며, 아래 링크에서 구매하시면 더 많은 금액이 기부됩니다. 

 

책구매 링크: 챗GPT와 함께하는 마이크로소프트 SQL Server 2022 

책구매링크.png

No. Subject Author Date Views
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 36189
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 18743
2254 SQL강좌: 6-2. 데이터 무결성 - 테이블 컬럼과 NULL 제약 코난(김대우) 2023.08.18 64
2253 SQL강좌: 6-1. 데이터 무결성 - 데이터 무결성 이해 file 코난(김대우) 2023.08.18 94
2252 SQL강좌: 5-4. 테이블 수정 file 코난(김대우) 2023.08.18 100
2251 SQL강좌: 5-3. 테이블 생성 file 코난(김대우) 2023.08.18 79
2250 SQL강좌: 5-2. 테이블 생성과 데이터형 선택 [1] 코난(김대우) 2023.08.18 60
2249 SQL강좌: 5-1. SQL Server 테이블 file 코난(김대우) 2023.08.18 78
2248 SQL강좌: 4-8. 시스템 카탈로그 엿보기 file 코난(김대우) 2023.08.18 81
2247 SQL강좌: 4-7. 최적의 데이터베이스 구성 file 코난(김대우) 2023.08.18 89
2246 SQL강좌: 4-6. 데이터베이스의 데이터와 로그 코난(김대우) 2023.08.18 79
» SQL강좌: 4-5. 데이터베이스 삭제 file 코난(김대우) 2023.08.18 47
2244 SQL강좌: 4-4. 데이터베이스 옵션 file 코난(김대우) 2023.08.18 92
2243 SQL강좌: 4-3. 데이터베이스 크기조절 file 코난(김대우) 2023.08.18 75
2242 SQL강좌: 4-2. 데이터베이스 생성 file 코난(김대우) 2023.08.18 83
2241 SQL강좌: 4-1. SQL Server 데이터베이스와 데이터베이스 개체의 이해 file 코난(김대우) 2023.08.18 140
2240 SQL강좌: 3-4. TRUNCATE TABLE / 트랜잭션 수행 [1] 코난(김대우) 2023.08.18 96
2239 SQL강좌: 3-3. DELETE를 이용한 로우 삭제 코난(김대우) 2023.08.18 75
2238 SQL강좌: 3-2. UPDATE - 데이터 수정 코난(김대우) 2023.08.18 91
2237 SQL강좌: 3-1. 데이터 삽입, 삭제, 수정 - INSERT를 이용한 행 삽입 코난(김대우) 2023.08.18 104
2236 SQL강좌: 2-14. SQL 쿼리 자동생성 - 쿼리 디자이너 file 코난(김대우) 2023.08.18 107
2235 SQL강좌: 2-13. SELECT 결과셋을 XML, JSON 형식으로 출력 코난(김대우) 2023.08.18 92





XE Login