데이터베이스 연결 (*.mdf, *.ldf를 이용한 복구) > db

본문 바로가기

db

데이터베이스 연결 (*.mdf, *.ldf를 이용한 복구)

페이지 정보

작성자 서방님 댓글 0건 조회 28회 작성일 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)]을 선택할 수 있습니다.

tip_0005.jpg
[화면1]

③ 그러면 아래 [화면2] 처럼 데이터베이스 연결을 위한 대화창이 표시됩니다.

tip_0006.jpg
[화면2]

④ 아래의 아래 [화면3] 처럼 찾기 버튼 [...] 을 누르면 연결할 데이터베이스 파일의 위치를 쉽게 찾을 수 있는 탐색창이 뜹니다. 이 화면에서 연결하고자 하는 데이터베이스 파일 *.mdf 을 선택하면 됩니다.

tip_0007.jpg
[화면3]

⑤ 아래 [화면4]는 데이터베이스 파일을 선택한 후의 화면입니다. 원하는 경우 "다음 이름으로 연결(A)" 부분에 다른 이름을 주어 기존의 데이터베이스와는 다른 이름을 갖는 데이터베이스로 연결을 할 수 있습니다.

tip_0008.jpg
[화면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',
@physname = 'E:Datasqlworld.mdf'

3) 정리

*.mdf, *.ldf 파일을 가지고 어떻게 연결을 해야 하는지에 대한 질문이 상당히 많이 올라와 이에 대한 설명을 간단하게나마 준비해 보았습니다. 추가적인 설명이 필요하시면 온라인 설명서(Books Online)을 참고하시기 바랍니다.

댓글목록

등록된 댓글이 없습니다.

Total 447건 1 페이지
게시물 검색

회원로그인

접속자집계

오늘
139
어제
365
최대
592
전체
40,113

그누보드5
Copyright © seobangnim.com All rights reserved.
자바스크립트를 활성화 하세요![ 브라우저에서 자바스크립트를 활성화하는 방법 ]