У нас есть старый компьютер с SQL Server 2000, на котором куча заданий выполняется в одночасье. Иногда, после обслуживания сервера и перезагрузки компьютера, некоторые компоненты SQL не подходят к ОС (даже если они настроены для этого). Поэтому, прежде чем наши ночные задания должны быть запущены, я хотел бы (с удаленного компьютера) выполнить несколько проверок, чтобы проверить, работают ли SQL Server, агент SQL Server и служба SQL Server OLAP. Я нашел несколько вещей, которые, похоже, должны работать, но мне интересно, смогут ли эксперты этого сообщества прокомментировать качество и надежность каждого подхода. Я могу закодировать это приложение как файл .vbs, запускаемый с помощью запланированных задач Windows, или создать службу Windows C #.
Кандидат 1:
Выполните запрос к master..sysprocesses и найдите в столбце имя_программы соответствующие процессы, которые я ожидаю найти.
Кандидат 2:
Выполните запрос к master..xpcmd_shell следующим образом:
exec master..xp_cmdshell 'sc \\hostname query SQLServerAgent'
Затем ищите 'STATE: 4 RUNNING' в результатах
Кандидат 3:
Используя .NET Framework, найдите процесс следующим образом:
Проверьте, запущен ли процесс в удаленной системе с использованием C #
Это то, что действительно нужно запускать только один раз в день, и оно отправит уведомление по электронной почте, если какой-либо из процессов, которые должны быть запущены, не работает.