데이터베이스 연결 (*.mdf, *.ldf를 이용한 복구)
페이지 정보
작성자 서방님 댓글 0건 조회 191회 작성일 06-12-13 20:52본문
데이터베이스를 관리하다보면 분리되거나 또는 다른데서 가져온 *.mdf 및 *.ldf 파일을 연결해야 하는 경우가 있습니다. 이러한 작업에 대하여 살펴보도록 하겠습니다. |
데이터베이스를 SQL 서버에 연결한다는 것은 예전에 분리된 또는 여타의 상황 발생으로 인하여 SQL 서버와 무관하게 존재하는 데이터베이스 파일(*.mdf, *.ldf)을 SQL 서버의 데이터베이스로서 작동을 하도록 연결하는 것을 의미합니다. 예를 들어 SQL 서버가 심각한 증상을 보여 더이사 작동을 하지 않을 경우 다시 SQL 서버를 설치 한 후 예전에 사용하던 *.mdf, *.ldf 파일을 연결해야 하는 경우가 있을수 있으며, 다른 서버에서 사용하던 *.mdf, *.ldf 파일을 가져와 연결해서 사용하고자 하는 경우가 있을 수 있습니다.
SQL 서버는 이러한 작업을 쉽게 할 수 있는 방법은 제공하고 있습니다. 더욱이 좋은 것은 SQL 서버 7.0에서 사용하던 *.mdf, *.ldf 파일을 SQL 서버 2000에 별 무리 없이 연결 할 수 있기 때문에 업그레이드의 한가지 방법이 될 수 있습니다. 하지만 SQL 서버 2000에서 사용하던 *.mdf, *.ldf 파일은 SQL 서버 7.0에 연결을 할 수 없음을 숙지하시기 바랍니다.
데이터베이스 분리작업과 마찬가지로 SQL 서버에서는 데이터베이스 파일을 SQL 서버에 연결하는 방법은 다음과 같이 두가지가 있습니다.
o EM(Enterprise Manager)를 이용한 데이터베이스 연결
o sp_attach_db 또는 sp_attach_single_file_db 시스템 저장프로시져를 이용한 데이터베이스 연결
위 두가지 방법을 차례대로 살펴보도록 하겠습니다.
1) EM(Enterprise Manager)를 이용한 데이터베이스 연결
이 방법을 이용하면 특별한 기술없이 데이터베이스 파일을 SQL 서버에 연결 할 수 있습니다.
① 우선 연결할 대상이 되는 *.mdf, *.ldf 파일을 특정한 디렉토리에 위치를 시킵니다. 연결 과정을 보여드리기 위해서 저는 sqlworld.mdf, sqlworld_log.ldf 파일을 E:Data 폴더에 위치 시킨 상태입니다.
② 다음의 [화면1]과 같이 을 보시면 "데이터베이스" 위에서 마우스 오른쪽 버튼을 눌러 단축메뉴를 표시하면 [모든작업(K)] - [ 데이터베이스 연결(A)]을 선택할 수 있습니다.
[화면1]
③ 그러면 아래 [화면2] 처럼 데이터베이스 연결을 위한 대화창이 표시됩니다.
[화면2]
④ 아래의 아래 [화면3] 처럼 찾기 버튼 [...] 을 누르면 연결할 데이터베이스 파일의 위치를 쉽게 찾을 수 있는 탐색창이 뜹니다. 이 화면에서 연결하고자 하는 데이터베이스 파일 *.mdf 을 선택하면 됩니다.
[화면3]
⑤ 아래 [화면4]는 데이터베이스 파일을 선택한 후의 화면입니다. 원하는 경우 "다음 이름으로 연결(A)" 부분에 다른 이름을 주어 기존의 데이터베이스와는 다른 이름을 갖는 데이터베이스로 연결을 할 수 있습니다.
[화면4]
⑥ 위 [화면4]에서 [확인] 버튼을 누르면 데이터베이스 연결이 완료됩니다.
2) sp_attach_db 또는 sp_attach_single_file_db 시스템 저장프로시져를 이용한 데이터베이스 연결
sp_attach_db의 경우는 데이터베이스 파일이 여러개인 경우(한개의 *.mdf 파일과 여러개의 *.ndf 파일들)에 사용을 하게 되며, sp_attach_single_file_db의데이터베이스 파일이 한개(한개의 *.mdf 파일)인 경우 사용하면 됩니다. 데이터베이스 파일이 한개인 경우는 두가지 방법중 아무거나 사용하시면 됩니다. 그리고 sp_attach_db의 경우는 16개의 데이터베이스 파일까지 한번에 지정이 가능합니다.
만일 위에서 연결했던 sqlworld.mdf 파일을 sp_attach_db를 이용해서 연결한다면 다음과 같이 하시면 됩니다.
|
USE master GO EXEC sp_attach_db 'sqlworld', 'E:Datasqlworld.mdf', 'E:Datasqlworld_log.ldf' |
위 연결 방법은 정확히 한다면 다음과 같은 문법에 따라 사용하셔야 합니다. 하지만 변수명 생략이 가능하기 때문에 위와 같이 사용한 것입니다.
|
USE master GO EXEC sp_attach_db @dbname = 'sqlworld', @filename1 = 'E:Datasqlworld.mdf', @filename2 = 'E:Datasqlworld_log.ldf' |
sqlworld.mdf 파일을 sp_attach_single_file_db를 이용해서 연결한다면 다음과 같이 하시면 됩니다.
|
USE master GO EXEC sp_attach_single_file_db 'sqlworld', 'E:Datasqlworld.mdf' -- 또는 EXEC sp_attach_single_file_db @dbname = 'sqlworld', |
3) 정리
*.mdf, *.ldf 파일을 가지고 어떻게 연결을 해야 하는지에 대한 질문이 상당히 많이 올라와 이에 대한 설명을 간단하게나마 준비해 보았습니다. 추가적인 설명이 필요하시면 온라인 설명서(Books Online)을 참고하시기 바랍니다.
댓글목록
등록된 댓글이 없습니다.