
У одного из наших клиентов есть экземпляр Windows 2008 Hyper-V, размещенный CrystalTech, и иногда родительский сервер Hyper-V перезапускается без надлежащего завершения работы дочерней виртуальной машины.
В результате, когда сервер снова подключается к сети, служба SQL Server Express в виртуальной машине не запускается, хотя она установлена на Automatic. В журнале событий нет записей об ошибках. Если перезагрузить сервер обычным образом, SQL Server Express запустится без проблем.
У кого-нибудь была такая проблема? Есть какие-нибудь советы по ее решению?
Кстати, есть ли у кого-нибудь хорошие скрипты/методы для отправки уведомлений по электронной почте при неожиданном отключении сервера?
С другой стороны, знает ли кто-нибудь хорошие хосты для виртуальных машин Hyper-V?
решение1
Очень странно. Я думаю, что здесь происходит что-то странное. Если у вас есть TechNet или MSDN, я бы отправил кейс в MS, чтобы решить эту проблему. Возможно, есть какая-то странность в вашей среде или в установке Windows или SQL Server по умолчанию, которая вызывает это.
Одно из действий, которое вы можете выполнить, — это настроить элемент планировщика задач, как указано выше, чтобы запустить его.
Если настроить перезапуск службы при сбое, это сработает?
решение2
Все остальные службы запускаются?
Я удивлен, что он даже не пытается запуститься. Вы проверяли наличие нескольких экземпляров? Я видел, как люди думали, что есть только один экземпляр, когда их было больше, и они проверяли не тот.
Нет никаких фундаментальных причин, по которым SQL Express не должен запускаться. Сбой виртуальной машины — это как жесткое отключение питания для SQL, и обычно он перезапускается сам.
Я также могу поискать зависимость от сервиса. Я бы ожидал, что SQL Server будет в корне цепочки зависимостей, но возможно, он зависит от чего-то другого.
решение3
У меня была та же проблема. В моем случае я обнаружил, что служба SQL Server Browser, которая предоставляет клиентским компьютерам информацию о подключении SQL Server, каким-то образом была изменена на Disabled. Изменил ее свойство на Automatic, и все снова заработало нормально.
решение4
А как насчет настройки приложения для запуска при запуске, которое просто проверяет наличие SQL и запускает его, если он отсутствует? Вы даже можете настроить его для запуска в Планировщике задач, периодически.