데이터베이스 복구 보류 중 해결

정경섭·2023년 8월 13일
0

복구 보류 중인 상태 원인

  1. 데이터베이스가 정상적으로 종료되지 않았습니다.

데이터베이스가 종료되고 로그파일이 삭제될 때 COMMIT 되지 않은 활성화된 트랜잭션이 있을 수도 있습니다.

  1. 로그 파일을 다른 경로로 이동하려고 했지만 이 과정에서 로그 파일이 손상되었습니다.
  1. 메모리 공간 부족 또는 디스크 저장 공간으로 인해서 데이터베이스 복구를 시작할 수 없습니다.

복구 보류 중인 상태 해결하기

해결책은 2가지가 있습니다.

해결책 1

Northwind 데이터베이스를 복구하는 경우, 다음의 쿼리를 실행해 주세요.

ALTER DATABASE Northwind SET EMERGENCY;
GO

ALTER DATABASE Northwind SET SINGLE_USER;
GO

DBCC CHECKDB (Northwind, REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS;
GO

ALTER DATABASE Northwind SET MULTI_USER;
GO

  1. Northwind 데이터베이스를 응급 모드로 변경합니다.
  • 응급 모드는, READ_ONLY 이며 로깅을 비활성화 하고 시스템 관리자에게만 액세스 권한이 부여됩니다.
  1. Northwind 데이터베이스를 단일 사용자 모드로 변경합니다.

  1. Northwind 데이터베이스를 복구합니다. 이 때 데이터 손실이 일어날 수 있습니다.
  • Microsoft 에서는 해당 옵션은 최후의 수단으로만 사용하며, 이 옵션에 대해 경고하고 있습니다.

The REPAIR_ALLOW_DATA_LOSS option is a supported feature but it may not always be the best option for bringing a database to a physically consistent state. If successful, the REPAIR_ALLOW_DATA_LOSS option may result in some data loss. In fact, it may result in more data lost than if a user were to restore the database from the last known good backup.

Microsoft always recommends a user restore from the last known good backup as the primary method to recover from errors reported by DBCC CHECKDB. The REPAIR_ALLOW_DATA_LOSS option is not an alternative for restoring from a known good backup. It is an emergency "last resort" option recommended for use only if restoring from a backup is not possible.

  1. Northwind 데이터베이스를 복수 사용자 모드로 변경합니다.

스크랩 주소 : https://mozi.tistory.com/310

profile
Keep Building

0개의 댓글