Server.JobServer.jobs を使用してジョブのリストを取得する SMO オブジェクトを使用すると、各ジョブのステータスを確認できます。現在実行中のものについては、実行中の SPID を見つけたいと思います。Server.EnumProcesses() を使用して、サーバーのプロセスのリストを取得することもできます。これにより、現在アクティブな SPID のリストが表示されます。2つ合わせたい。
私が思いついた最善の方法は、jobid を文字列に変換し、EnumProcesses テーブルのプログラム文字列から jobId をサブストリング化することです (少なくとも私のシステムでは、この説明に jobId が埋め込まれています)。プログラム記述の Guid と jobID の GUID で、文字列表現の最初の 3 つの部分でバイトが入れ替わっているといういくつかの理由で、これは本当に醜いです。うん。
SMO を使用してそれを行うより良い方法はありますか?