예제로 배우는 SQL 프로그래밍
HOME
SQL기초
활용 및 팁
ADO.NET
LINQ
SMO
SQL WMI
SQL 활용 및 팁
특정프로그램 접속 금지
특정IP로부터 접근 허용
데이타베이스 삭제
IDENTITY 컬럼 활용
파워쉘 TCP포트 변경
SET NOEXEC 활용
TSQL 파일 체크섬 산출
편리한 MERGE문 활용
데드락 분석의 기초 (1)
단순한 데드락 사례 (2)
실전 데드락 사례 (3)
테이블 변수의 활용
백업/복원 진척 확인
Recursive CTE 사용
최대값 산출 SELECT
WHERE-조건별 다른쿼리
레코드에 일련번호 붙이기
SQL 2012 시퀀스 사용법
ROW 데이타 하나로 결합
ROW 데이타를 CSV로 결합
대량 레코드 분할 실행
OBJECT_ID() 함수 활용
데이타베이스 삭제 - 접속 강제 해제
데이타베이스를 삭제하기 위해서는 TSQL문 'DROP DATABASE'문을 사용한다. 하지만, 만약 현재 다른 사용자들이 해당 DB에 접속하여 사용하고 있다면, 'Cannot drop database because it is currently in use'라는 에러가 발생한다. 따라서 먼저 해당 DB 접속을 강제로 종료(ALTER DATABASE db SET SINGLE_USER WITH ROLLBACK IMMEDIATE)시킨 후, 데이타베이스를 삭제해야 한다. 아래 예제는 ADO.NET을 이용해 데이타베이스를 삭제하는 C# 코드이다.
예제
private string dropDB = "IF EXISTS (SELECT * FROM sys.databases WHERE name = N'{0}') " + "BEGIN " + " ALTER DATABASE [{0}] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; " + " DROP DATABASE [{0}] " + "END"; public void RemoveDatabase(string serverName, string dbName) { string sql = string.Format(SqlDropDB, dbName); SqlConnectionStringBuilder sbConn = new SqlConnectionStringBuilder(); sbConn.DataSource = serverName; sbConn.IntegratedSecurity = true; string strConn = sbConn.ConnectionString; using (SqlConnection sqlConn = new SqlConnection(strConn)) { sqlConn.Open(); SqlCommand cmd = new SqlCommand(sql, sqlConn); cmd.ExecuteNonQuery(); } }
본 웹사이트는 광고를 포함하고 있습니다. 광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.