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

WinSCP 접속 버퍼 길이 최적화

WinSCP 접속 버퍼 길이 최적화

WinSCP 에서 대용량 데이터를 복사하던 중에 발생한 상황에 대한 해결 과정입니다. (접속 버퍼 길이 최적화)

read more

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