반응형
- /**********************************************************************************************
-- Title : [2k] 마스터 및 DB파일 손상시 비상 로그 백업 방법
-- Reference : 웹검색
-- Key word : 비상 로그 백업, 마지막 활성 트랜잭션
**********************************************************************************************/
-- 데이터베이스 파일이 손상되었어도 트랜잭션 로그 파일을 액세스할 수 있으면 현재의
활성 트랜잭션 로그를 백업할 수 있다. Microsoft SQL Server 7.0에서는 주 데이터 파일
과 트랜잭션 로그 파일을 모두 액세스할 수 있어야 마지막 활성 트랜잭션 로그를 백업
할 수 있다.
-- 마스터 데이터베이스도 손상된 경우 데이터 파일과 마스터 장치가 둘 다 손상된 미디
어에 있으면 먼저 마스터 데이터베이스를 다시 생성하고 복원한 다음 액세스할 수 없
는데 이터베이스의 마지막 활성 트랜잭션 로그를 백업할 수도 있다. 그러나, 마스터
데이터베이스 백업을 사용할 수 없는 경우에도 SQL Server 7.0에서 주 데이터 파일과
트랜잭션 로그 파일을 액세스할 수 있으면 아래 방법을 사용하여 데이터베이스의 마
지막 활성 트랜잭션 로그를 백업할 수도 있다.
-- Microsoft SQL Server 2000에서는 트랜잭션 로그 파일만 액세스할 수 있으면 마지막 활
성 트랜잭션 로그를 백업할 수 있다.
/*
-- SQL Server 2000
*/
--마스터 데이터베이스와 사용자 데이터베이스의 데이터 파일이 손상되었으나 데이터베이스의 트랜잭션
--로그 파일에 여전히 액세스할 수 있으면 아래 단계를 수행하여 데이터베이스의 마지막 활성 트랜잭션
--로그를 백업함으로써 데이터 손실을 줄일 수 있다.
--
--1. 트랜잭션 로그 파일의 이름을 변경한다.
--2. 마스터 데이터베이스를 다시 만든다.
--3. 유사한 데이터베이스를 만든다. 새 데이터베이스는 크기가 같을 필요는 없지만 포함하는 데이터
-- 파일 및 로그 파일의 수는 같아야 한다.
--4. SQL Server를 중지한다.
--5. 새로 만든 데이터베이스의 데이터 파일을 모두 삭제하여 복구되지 않게 한다. 트랜잭션 로그를
-- 백업할 수 있도록 새 데이터베이스의 로그 파일을 원래의 로그 파일로 바꾼다.
/*
-- Microsoft SQL Server 7.0
*/
--1. 주 데이터 파일과 트랜잭션 로그 파일의 이름을 변경한다.
--2. 마스터 데이터베이스를 다시 만든다.
--3. 유사한 데이터베이스를 만든다. 새 데이터베이스는 크기가 같을 필요는 없지만 포함하는 데이터
-- 파일 및 로그 파일의 수는 같아야 한다.
--4. SQL Server를 중지한다.
--5. 새로 만든 데이터베이스의 데이터 파일을 모두 삭제하여 복구되지 않게 한다. 트랜잭션 로그를
-- 백업할 수 있도록 새 데이터베이스의 주 데이터 파일과 로그 파일을 원래의 파일로 바꾼다.
--6. SQL Server를 다시 시작한다.
--7. 아래 명령을 실행하여 로그의 마지막 부분을 복원한다.
-- Backup Log <database_name> to Disk = <device_name> With NO_TRUNCATE
--8. sp_dbremove 저장 프로시저를 사용하여 데이터베이스를 제거한다.
-- 모든 로그 파일과 함께 데이터베이스를 복원한다.
반응형