현재 정전 후 하나의 데이터베이스(복구: 전체)가 SSMS에서 '복구 중'으로 표시됩니다. 그래서
내 데이터베이스(복구 중)(데이터베이스 상태: 복구, 종료)
복구 프로세스가 끝나면 데이터베이스에 <(복구 중)>이 아닌
해당 데이터베이스를 사용하는 애플리케이션을 시작하면 내 데이터베이스 이름 옆에 '(복구 중)'이라는 추가 텍스트가 다시 나타납니다.
'복구 프로세스'가 완료될 때까지 기다렸다가 데이터베이스를 오프라인으로 전환하고 다시 온라인 상태로 만들었습니다.
서버를 다시 시작하고 컴퓨터를 다시 시작했더니 애플리케이션이 실행 중일 때 추가 텍스트가 다시 나타납니다. SQL Server 로그에 '데이터베이스 시작 중 'myDatabase'&39;&39;라는 메시지가 몇 번 나타납니다. 데이터를 삽입 할 수 있기 때문에 데이터베이스가 작동하는 것 같지만 상태는 무언가가 발생했음을 보여줍니다.
서버 로그에 흥미로운 내용이 표시되지 않습니다. 유일한 비정상적인 것은 '데이터베이스 시작 'myDatabase'의 항목이 30 개 있다는 것입니다.
서버가 시작될 때 모든 데이터베이스는 사용할 준비가되기 전에 복구를 거치는 것으로 알고 있습니다. 그러나 제 경우에는 데이터베이스가 온라인 상태가 된 다음 <myDatabase (복구 중)>이 표시됩니다. 애플리케이션을 닫으면 데이터베이스가 상태로 바뀝니다: 정상으로 바뀝니다. 이것은 저를 미치게 만듭니다.
심지어 SQL Server의 새 인스턴스를 설치하고 이전 데이터베이스인
이 쿼리를 실행하면
SELECT databasepropertyex('nyDatabase', 'STATUS')
복구 중, 온라인, 의심됨, 온라인 상태로 돌아간 다음 복구 중 등으로 표시됩니다.
이 방법이 문제 해결에 도움이 될지는 모르겠지만 한 번 시도해 볼 수 있습니다.
실행하세요:
RESTORE DATABASE YourDatabase WITH RECOVERY
위의 방법으로 데이터베이스가 복구 모드에서 벗어나는지 확인합니다. 그렇지 않다면 다른 문제일 수 있습니다.
아래 명령을 실행하여 데이터베이스가 손상되었는지 확인해 볼 수 있나요?
DBCC CHECKDB ('YourDBname') WITH NO_INFOMSGS, ALL_ERRORMSGS
손상이 감지되면 DBCC CHECKDB
를 사용하여 데이터베이스를 복구할 수 있습니다.
데이터베이스를 온라인으로 가져올 때마다 복구 프로세스를 거칩니다. 하지만 문제를 표현하는 문구가 약간 혼란스럽습니다. 데이터베이스를 오프라인으로 전환할 때(원래 정전으로 인해 또는 데이터베이스를 오프라인으로 전환했다가 다시 온라인 상태로 전환할 때) 이외의 시간에 데이터베이스가 복구 상태로 전환되는 것을 보셨나요? 그렇다면 다른 이유로 데이터베이스가 오프라인 상태인 것입니다. SQL 서버 로그를 확인하여 무슨 일이 일어나고 있는지 확인하는 것이 가장 좋습니다.
또한 Windows 이벤트 로그에서 디스크 오류 같은 것이 있는지 확인해야 합니다. 정상 작동 중에는 데이터베이스가 시작되지 않고 복구에 들어가서는 안 됩니다.