У нас есть старая машина SQL Server 2000, в которой сработало множество заданий за одну ночь. Иногда, после выполнения обслуживания сервера и перезагрузки компьютера, некоторые компоненты SQL не придумывают ОС (даже если они настроены для этого). Поэтому, прежде чем наши ночные задания должны выполняться, я хотел бы (с удаленной машины) запустить некоторые проверки, чтобы проверить, работают ли SQL Server, агент SQL Server и служба OLAP SQL Server. Я нашел несколько вещей, которые выглядят так, как будто они должны работать, но мне интересно, могут ли эксперты этого сообщества комментировать качество & надежности каждого подхода. Я могу закодировать это приложение как либо .vbs-файл, запускаемый через Windows Scheduled Tasks, либо создать службу Windows C#.Лучший способ просмотра процессов SQL Server 2000?
кандидат 1: Выполнить запрос к master..sysprocesses и посмотреть в колонке program_name для соответствующих процессов, я ожидаю найти.
кандидат 2: Выполнить запрос к master..xpcmd_shell так:
exec master..xp_cmdshell 'sc \\hostname query SQLServerAgent'
Тогда ищите 'СОСТОЯНИИ: 4 RUNNING' в результатах
кандидат 3: Используя .NET Framework, выполните поиск следующего процесса: Check if a process is running on a remote system using C#
Это то, что действительно нужно запускать только один раз в день и отправляет уведомление по электронной почте, если какой-либо из процессов, которые должны быть запущены, не является.
А идея, если я не могу подключиться к базе данных SQL вообще, предполагается, SQL Server не работает, и поэтому SQLAgent также не работает. Поэтому я отправляю уведомление по электронной почте. Если я могу подключиться к базе данных SQL, я запустил этот хранимый процесс и проверил, что возвращаются записи SQLAgent и MSSAS. Если нет, я отправляю уведомление по электронной почте о том, чего не хватает. – jamauss