С помощью объектов SMO, использующих Server.JobServer.jobs для получения списка заданий, я могу узнать состояние каждого задания. Для тех, кто в настоящее время выполняет, я хотел бы найти SPID, на котором он выполняется. Я также могу получить список процессов сервера, используя Server.EnumProcesses (). Это дает мне список активных в настоящее время SPID. Я хочу соответствовать двум.
Лучшее, что я смог придумать, - это преобразовать jobid в строку и вывести из идентификатора строки jobId из строки программы в таблице EnumProcesses (которая, по крайней мере, в моей системе, встраивает jobId в это описание) ). Это действительно ужасно по нескольким причинам, не в последнюю очередь из-за того, что Guid в описании программы и guid для jobID переключают свои байты в первые 3 фрагмента строкового представления. Тьфу.
Есть ли лучший способ сделать это с помощью SMO?