В настоящее время у нас есть проблема, которая возникает примерно один раз в день на сервере базы данных SQL 2005, хотя время, когда это происходит, не согласовано.
По сути, база данных останавливается и начинает отказывать в соединениях со следующим сообщением об ошибке. Это включает в себя вход в систему SSMS:
Соединение с сервером было успешно установлено, но во время входа в систему произошла ошибка. (поставщик: поставщик TCP, ошибка: 0 - указанное сетевое имя больше не доступно.)
Наше использование ЦП для SQL обычно составляет около 15%, но когда БД находится в нерабочем состоянии, она составляет около 70%, поэтому он явно что-то делает, даже если никто не может подключиться. Даже если я отключу веб-приложение, использующее базу данных, процессор все равно не выйдет из строя.
Я не могу перезапустить процесс SQLSERVER, так как он не отвечает, поэтому мне приходится в конечном итоге завершить процесс вручную, после чего БД переводится в режим подозрения / восстановления (что я могу исправить, но это не так). *
Ниже приведена статистика PerfMon, которую я собрал, когда БД находилась в нерабочем состоянии, что может помочь. У меня есть еще куча, если люди захотят их запросить:
- Активных транзакций: 2 (Никогда
- Изменения) Логические соединения: 34 (NC)
- Процесс заблокирован: 16 (NC) Пользователь
- Соединения: 30 (NC) Пакетный запрос: 0
- (NC) Активные задания: 2 (NC) Журнал
- Сокращения: 596 (NC) Сжатие журнала: 24
- (NC) Самая продолжительная транзакция
- Время: 99 (NC)
Полагаю, они выясняют, какая БД использует свой ЦП, но, поскольку я даже не могу войти в SSMS, это невозможно сделать стандартными методами.
К сожалению, я даже не могу использовать выделенное административное соединение для входа в SSMS. Я получаю тот же тайм-аут, что и со всеми другими запросами.
Любой совет, рекомендации или даже сочувствие, очень ценится!