Почти каждый раз, когда я перезагружаю компьютер, на котором размещен экспресс-сервер SQL Server 2008 R2, база данных проходит процесс восстановления. В большинстве случаев база данных зависает в процессе восстановления.
Эта ошибка была обнаружена в журнале событий Windows: The SQL Server (__NAMEHERE__) service terminated unexpectedly. It has done this 1 time(s).
Это было найдено в журналах sql:
2011-12-09 10:12:51.16 Server SQL Server is terminating because of a system shutdown. This is an informational message only. No user action is required.
2011-12-09 10:13:18.86 spid13s Service Broker manager has shut down.
2011-12-09 10:13:18.86 spid13s Error: 17054, Severity: 16, State: 1.
2011-12-09 10:13:18.86 spid13s The current event was not reported to the Windows Events log. Operating system error = (null). You may need to clear the Windows Events log if it is full.
Любая очевидная причина того, почему я не могу перезапустить систему без необходимости восстановления базы данных.
Вы уверены, что это процесс восстановления? Когда SQL Server запускается, все базы данных проходят процесс, называемый восстановлением, который гарантирует, что все зафиксированные транзакции в порядке, а те, которые не были зафиксированы, откатываются. (когда база данных восстанавливается, она тоже проходит восстановление)
Эти журналы просто говорят мне, что служба SQL Server остановлена из-за выключения системы (перезагрузки?). Что происходит, когда вы запускаете службу SQL Server вручную? Он работает под учетной записью домена Windows или учетной записью локальной системы?
Оказывается, проблема заключалась в том, что базе данных не хватило внутренней памяти из-за проблем с Service Broker. После перезапуска службы вся память, которая была использована брокером, все еще перезагружается и исчерпывает доступную память. Я не знаю причину потребления памяти, но он отвечает на мою проблему. База данных просто исчерпала доступную память в экспресс-выпуске.