SQL Server는 복구중인 데이터베이스를 보여줍니다.


23

현재 정전이 발생한 후 하나의 데이터베이스 (복구 : 전체)가 SSMS에서 "복구 중"으로 표시됩니다. 그래서:

myDatabase (복구 중) (데이터베이스 상태 : 복구, 종료)

완료 후 데이터베이스의 "복구 프로세스"에는 "(복구 중)"없이 myDatabase라는 이름이 표시됩니다. 문제가 해결되었다고 생각했지만 그렇지 않았습니다.

해당 데이터베이스를 사용하는 응용 프로그램을 시작하면 데이터베이스 이름 옆에 추가 텍스트 "(복구 중)"이 다시 나타납니다.

"복구 프로세스"가 완료 될 때까지 기다렸다가 데이터베이스를 오프라인으로 전환하여 다시 온라인 상태로 만들었습니다.

서버를 다시 시작하고 컴퓨터를 다시 시작했으며 응용 프로그램을 실행할 때 추가 텍스트가 다시 나타납니다. SQL Server 로그에 "데이터베이스 'myDatabase'시작"메시지가 몇 번 나타납니다. 데이터를 삽입 할 수 있기 때문에 데이터베이스가 작동하는 것 같지만 상태가 발생하는 것을 보여줍니다.

서버 로그에 흥미로운 내용이 없습니다. 유일한 비정상적인 것은 "데이터베이스 'myDatabase'시작"의 30 개의 항목이 있다는 것입니다.

서버가 시작될 때 모든 데이터베이스는 사용 준비가되기 전에 복구를 거칩니다. 그러나 제 경우에는 데이터베이스가 온라인 상태가 된 후 "myDatabase (In recovery)"가 표시됩니다. 응용 프로그램을 닫으면 데이터베이스가 Status : Normal로 이동합니다. 이것은 나를 미치게합니다.

심지어 새로운 SQL Server 인스턴스를 설치하고 이전 데이터베이스 "myDatabase"를 추가했습니다. 문제는 여전히 발생합니다.

이 쿼리를 실행할 때 :

SELECT databasepropertyex('nyDatabase', 'STATUS')

복구, 온라인, 용의자 및 온라인으로의 복구 및 복구 등을 보여줍니다.

답변:



16

이것이 문제를 해결하는 데 도움이되는지 확실하지 않지만 기회를 줄 수 있습니다.

운영:

RESTORE DATABASE YourDatabase WITH RECOVERY

위의 방법으로 데이터베이스가 복구 모드에서 벗어나는지 확인하십시오. 그렇지 않으면 문제가 다른 것일 수 있습니다.

아래 명령을 시도하여 데이터베이스가 손상되었는지 확인할 수 있습니까?

DBCC CHECKDB ('YourDBname') WITH NO_INFOMSGS, ALL_ERRORMSGS

손상이 감지되면 다음을 사용하여 데이터베이스를 복구 할 수 있습니다. DBCC CHECKDB


6

데이터베이스를 온라인 상태로 만들 때마다 복구 프로세스가 진행됩니다. 그래도 문제의 문구에 약간 혼란 스럽습니다. 데이터베이스가 오프라인 상태가 될 때 (원래 정전에서 또는 오프라인 상태로 전환 한 후 다시 온라인으로 전환) 이외의 시간에 데이터베이스가 복구되는 것을보고 있습니까? 그렇다면 다른 이유로 데이터베이스가 오프라인 상태가됩니다. 무슨 일이 일어나고 있는지 SQL 서버 로그를 확인하는 것이 가장 좋습니다.

또한 Windows 이벤트 로그에서 디스크 오류와 같은 것이 있는지 확인해야합니다. 정상 작업 중에는 데이터베이스가 시작되어 복구되지 않아야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.