반응형
개요
구성환경
SQL Server 2019 / Windows Server 2016
오류
예) 파일 삭제, 분실시 데이터베이스 로그 메시지
예) 파일 손상 데이터베이스 로그 메시지
로그 파일 복구
1. 로그 파일이 손상(Currupt)된 상태에서는 기존 로그 파일을 삭제후 진행
1.1 기존 로그 파일이 존재 할 경우 삭제 또는 리네임
- 로그 파일이 존재할 경우 아래와 같은 오류 발생
1> alter database hoyadb rebuild log 2> go Msg 5025, Level 16, State 1, Server SQLCL-01, Line 1 파일 'G:\MSSQL15.MSSQLSERVER\MSSQL\DATA\hoyadb_log.ldf'이(가) 이미 있습니다. 새 로그 파일을 만들려면 이 파일의 이름을 바꾸거나 삭제해야 합니다. Msg 5028, Level 16, State 2, Server SQLCL-01, Line 1 시스템에서 로그를 다시 작성할 수 있을 만큼 충분히 데이터베이스를 활성화할 수 없습니다. 1> |
1.2 로그 파일 리빌드(rebuild) 진행
1> ALTER DATABASE hoyadb REBUILD LOG 2> go 경고: 데이터베이스 'hoyadb'의 로그가 다시 작성되었습니다. 트랜잭션에 일관성이 없습니다. RESTORE 체인이 끊어져 서버에 이 전 로그 파일에 대한 컨텍스트가 더 이상 없으므로 해당 로그 파일이 어떤 파일인지 알아야 합니다. DBCC CHECKDB를 실행하여 물리적 일관성을 확인해야 합니다. 데이터베이스가 dbo 전용 모드로 전환되었습니다. 데이터베이스를 사용할 수 있는 준비가 되면 데이터베이스 옵션을 다시 설정하고 모든 추가 로그 파일을 삭제하십시오. 1> |
1.3 데이터베이스 멀티유저 모드로 변경
- 로그 파일을 리빌드 된후에는 관련 데이터베이스가 제한된 사용자 모드로 변경됨
- 데이터베이스 멀티유저 모드로 변경
1> ALTER DATABASE hoyadb SET MULTI_USER 2> go 1> |
1.4 데이터베이스 복구 모드 변경
- 로그 파일을 리빌드 된후에는 데이터베이스의 복구모드가 단순(Simple)으로 변경되기 때문에 복구 모드를 변경해 주도록 한다.
- T-SQL을 이용한 복구 모드 변경
1> ALTER DATABASE hoyadb SET RECOVERY FULL 2> go 1> |
- SQL Server Management Studio를 이용한 복구 모델 변경
반응형
'DBMS > MS-SQL' 카테고리의 다른 글
[MS-SQL] Lock 관리 (0) | 2020.02.14 |
---|---|
[MS-SQL] master 데이터베이스 복원 (0) | 2020.02.13 |
[MS-SQL] 데이터베이스 복원 - 지정 시간 복구 (0) | 2020.02.13 |
[MS-SQL] SQL Server 2019 백업 옵션 (0) | 2020.02.12 |
[MS-SQL] 데이터베이스 복원 - 실패 지점 복원 (0) | 2020.02.12 |