난 내 자신의 조사를하고 있어요 동안의 데이터베이스 이유를 아는 사람 있나요 SIMPLE
복구 모델이있다 LOG_BACKUP
을 위해 log_reuse_wait_desc
?
SQL Server 2012 SP1 몇 주 전에 데이터베이스가 생성되었습니다. 복제, 미러링, 로그 쉽핑 등이 없었습니다.
우리는 백업 데이터베이스를했고, 그것을 보여줍니다 다른 인스턴스로 복원 SIMPLE
하고 NOTHING
있는 log_reuse_wait
다른 인스턴스. 그러나 복원 작업이 롤 포워드 / 롤백 트랜잭션으로 인해 다른 인스턴스로 복원하는 것이 문제를 재현하는 좋은 방법이라고 생각하지 않습니다.
답변
알았어, 어제 밤낮으로 조사하고, 시험하고, 문제를 재현하려고 노력했다. 근본 원인을 찾았습니다.
MODEL
데이터베이스를 SIMPLE
복구 모델로 설정합니다 .
모델 데이터베이스가 SIMPLE
복구 모델 로 설정 되고 사용자 데이터베이스가 SIMPLE
복구 모델 로 생성 된 경우 SQL Server는 FULL
복구 모델 에있는 것처럼 처리합니다 . 따라서 LOG_BACKUP
로그 자르기를 기다리고 있습니다.
문제를 재현 한 방법을 보여주기 위해이 링크 의 단계를 나열했습니다 .
근본 원인은 간단한 복구 모델을 사용하여 사용자 데이터베이스가 생성 된 후 (변경되지 않음)이 문제가 있다고 생각합니다. 정의 된 복구 모델을 사용하여 사용자 데이터베이스를 작성하는 유일한 방법이므로 모델 데이터베이스를 비난합니다.
이 내용은 Microsoft 기술 자료 문서 2830400에 설명되어 있으며 SQL Server 2012 SP1 CU4 및 RTM CU7에서 수정되었습니다.