MSSQL MDF 복구법

Published Oct 25, 2008 | Updated Sep 22, 2022 | 0 comments

갑자기 WSS 로 구축한 Teamsite 가 안열린다 – DB 에 연결할 수 없다네…
그래서 이래저래 원인을 찾던중 WSS 에 사용하는 원격 SQL DB 가 MDF 파일 자체에 문제가 생긴듯…
Management Studio 로 새로 연결을 끊고 다시 연결을 할려니 재 연결이 안되네… 헐 -_-;;
그래서 또 구글링을 하다가 찾음…..

출처 : http://dorajistyle.pe.kr/technology.php/2006/11/17/db_mssql_2005_dbesmemnes

정상적으로 종료가 되었을때만 사용

이건 관리툴에서 단순 연결/해제 를 하는 것과 동일한 기능인듯 하다

1. 로그와 데이터 모두 살아있을 때 복구법 : sp_attach_db ‘DB명’, ‘경로파일명.mdf’ , ‘경로파일명_log.ldf’
2. 데이터 파일만 살아있을 때 복구법 : sp_attach_single_file_db ‘DB명’, ‘경로파일명.mdf’
3. 데이터 파일만 남기고 삭제하고 싶을때 : sp_detach_db

ldf파일만 손상을 입고 mdf파일은 손상을 입지 않았을때

– 원래 DB와 동일 이름의 DB를 생성한다. (mdf 파일명과 크기도 같게..)
– 생성한 DB를 긴급 모드로 변경한다.
alter database dbname set emergency;
(다시 살릴때) alter database dbname set online;
– SQL 서버를 멈춘다.
– 생성한 DB의 mdf,ldf파일을 삭제하고 복구할 mdf파일들을 복사해온다.(로그파일 제외)
– SQL 서버를 재시동한다.
– 오브젝트와 데이터들이 관리자에게 접근가능하지만, 여전히 백업도 안되고 온라인상태가 되지도 않는다.
– 스크립트 생성 마법사로 모든데이터 오브젝트를 스크립트로 만든다.(스크림팅 오브젝트 권한,의존 오브젝트들,인덱스들 포함;파일로 내보낸다.)

이 부분은 실제 DataRow 를 제외한 테이블 및 기타 객체자체만 스크립트로 생성

– 새로운 두번째 DB를 생성한다.
– 새로운 DB에서 모든 오브젝트가 생성되 때까지 여러번 스크립트를 실행한다.

생성된 스크립트를 쿼리창에서 실행해서 새 DB 에 객체를 추가하는 부분

– 데이터 불러오기(가져오기) 마법사로 모든 살아있는 테이블을 새로운 DB에 넣는다.

기존 DB 에서 -> 새 DB 로 실제 테이블(객체) 내의 데이트를 선택하여 넣는 과정

실제 이 과정에서 오류가 발생했다…

sql_variant 타입의 컬럼을 가진 테이블은 가져오기(내보내기) 로 복사할수 없다(?) 는 식의 오류가 발생한다.

그래서 sql_variant 타입을 가진 테이블을 제외하고 모두 가져오기(내보내기) 를 한 다음

제외한 테이블은 스크립트로 별도로 백업 받아서 수동으로 복원을 시켰다.

이때, 조심해야 할것은 백업과정에 따라 생성된 스크립트 인코딩을 고려해서 해야할 듯하다.
이번경우 인코딩 때문에 한글에 문제가 있어서 메모장에 복사한 후 한글을 제대로 보이게끔 해서 복원을 하였음

– 새로운 DB를 백업하고, 긴급모드에 들어가있는 DB에 복원한다.

이 과정은 정확히 무슨 의미인지?
데이터 이동이 끝난 경우 미리 백업을 해놓으라는??

아무튼 백업은 했는데.. 복원 할려니 안되더라…

그래서 기존 긴급모드에 있는 DB 의 연결을 해제하고

새 DB 를 기존 WSS 에서 사용하는 DB 명으로 변경을 하였음


2008-10-28

여기까지만 하고 WSS 사이트를 다시 살려서 돌려봤더니…

설정이나 기타 첨부파일등은 정상적으로 다운 로드 및 ListView 가 된다…

하지만, 업로드시 경로를 찾을 수 없다는 오류가 나고… 하지만 실제 파일은 존재하고…

기존 업로드된 파일은 수정이 안된다…

그래서… 더 살펴보기로 했다…

기존 DB 설정이랑 수동으로 만든 설정이 틀리다…

기존 DB 는 Sharepoint Admin 에서 만들어서 그런지 문자셋 설정이나 기타 설정이 안 맞는 하고

보안(로그인) 설정 및 기타 여러 설정을 확인해 가며 수정하는 중이다…

TAG INFORMATION

Learn more on this topic

Related Blog Posts

Join in the conversation

Leave a Comment

0 Comments

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

무료 온라인 전광판

전광판

텍스트를 입력하고 텍스트 효과 및 배경효과 를 변경해서 전체화면으로 표시할 수 있는 전광판 용도로 사용하실 수 있습니다. 각종 스포츠 및 공연 관람시 응원 용도로 사용이 가능합니다.

Carousel

여러개의 슬라이드를 추가하여 프레젠테이션 및 이미지 슬라이드 용도로 사용하실 수 있습니다. 브라우저가 포함된 IT 기기로 큰 모니터에 연결하여 매장 내 공지사항 및 메뉴소개를 이미지로 표시할 수 있습니다.

Pin It on Pinterest

Shares
Share This

Share This

Share this post with your friends!

Shares