mssql 서버 사용시. ldf 파일 을 분실 혹은 사용하지 못할경우,
2005 2008 에서 복원 방법.
-- 기존 데이터 베이스에서 mdf 파일을 다른곳을 보관,
-- 기존 데이터 베이스 삭제.
-- 기존 데이터 베이스와 동일한 이름으로 데이터 베이스 생성,
-- 해당 데이터 베이스 긴급장애 모드로 변경 한뒤 싱글 모드로 변경,
ALTER DATABASE recovery_test_2 SET EMERGENCY;
ALTER DATABASE recovery_test_2 SET SINGLE_USER;
새로 생성된 mdf 파일과 ldf 파일삭제후 동일한 위치에 기존 백업해둔 mdf 파일을 복사.
** 이때 sql 서비스를 정지해야 할필요도 있다.
-- 다시 sql 을 올려보면, 문제가 있고 테이블도 안되고 그럴것이다.
-- ldf 파일이 없으므로, 해당 파일을 다시 재 생성해준다.
alter database test rebuild LOG ON (name=test_log,filename='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test_log.ldf')
-- 위의 작업이 정상적으로 되면, 에러 메시지가 발생하게 되는데.
이는 해당ldf 와 mdf 가 동일한 싱크가 아니기 때문이다.
-- 아래 명령어를 통해서 해당 데이터 베이스를 체크 한다.
이때 에러메시지 발생시 해당 메시지 대로 별도로 진행 한다.
use test
dbcc checkdb
-- 에러가 발생 하지 않으면 아래 메시지대로 multi_user 로 변경 한다.
alter database test set SINGLE_USER WITH ROLLBACK IMMEDIATE
alter database test set multi_user with rollback immediate
-- 그뒤 복구 모드를 원상 복구 시켜준다.
ALTER DATABASE [test] SET RECOVERY FULL WITH NO_WAIT
최종적으로 다시 한번 확인.
sp_helpdb test
'Server Story.... > MSSQL' 카테고리의 다른 글
mssql 최적화 (0) | 2014.10.21 |
---|---|
alter database 데이터 베이스 파일 증가 제한하기 (0) | 2014.10.21 |
mssql error 로그 확인 하기. (0) | 2014.10.16 |
슬로우 쿼리 (0) | 2014.10.16 |
중복 제거후 select 값을 insert 하는 과정 쿼리 (0) | 2014.07.23 |