728x90
에러 상황
데이터베이스를 사용하려는 중 데이터베이스 옆에 '복구 보류 중'이 표시됐다.
'복구 보류 중' 상태 원인
1. 데이터베이스가 정상적으로 종료되지 않음
- 데이터베이스가 종료되고 로그 파일이 삭제될 때 COMMIT 되지 않은 활성화된 트랜잭션이 있을 수 있다.
2. 로그 파일을 다른 경로로 이동하려고 했지만 이 과정에서 로그 파일이 손상됨
3. 메모리 공간 부족 또는 디스크 저장 공간으로 인해서 데이터베이스 복구를 시작할 수 없음
728x90
해결 방법
1. 데이터베이스를 '응급 모드'로 변경
ALTER DATABASE DB_NAME SET EMERGENCY
- READ_ONLY 상태이다.
- 로깅을 비활성화하고 시스템 관리자에게만 엑세스 권한이 부여된다.
2. 데이터베이스를 단일 사용자 모드로 변경
ALTER DATABASE DB_NAME SET SINGLE_USER
만약 단일 사용자 변경 시 무한 로딩이 걸리는 경우엔 아래의 명령어를 실행해준다.
ALTER DATABASE DB명 SET SINGLE_USER WITH ROLLBACK IMMEDIATE
3. 데이터베이스 복구
DBCC CHECKDB (DB_NAME, REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS
- 데이터베이스를 복구하지만 데이터 손실이 발생할 수 있다.
- MS에서는 해당 옵션은 최후의 수단으로만 사용하며, 이 옵션에 대해 경고하고 있다.
4. 데이터베이스를 복수 사용자 모드로 변경
ALTER DATABASE DB_NAME SET MULTI_USER
728x90
'🛢️DataBase > 오류해결' 카테고리의 다른 글
[MSSQL] Microsoft SQL Server, 오류: 18456 해결 (0) | 2024.01.19 |
---|---|
[MySQL] (Windows) 스크립트 실행 시 비밀번호 경고 처리 (Warning:Using a password on the command line interface can be insecure) (2) | 2024.01.10 |
댓글