1

SQL Server エージェントには、ジョブを監視するためのパフォーマンス オブジェクトとカウンターがあります。Windows Performance Monitor アプリケーションを使用すると、いつでもデータを確認できます。

パフォーマンスモン

しかし、gwmi Win32_PerfFormattedData_SQLSERVERAGENT_SQLAgentJobs一部のサーバーで PowerShell を使用しようとすると、インスタンスが返されません。WBEMTest と wmic.exe でテストした場合と同じ結果です。

実行するtypeperf -qxと \SQLAgent:Jobs(_Total)* メトリックが多数表示されますが、WMI クエリを使用してWin32_PerfFormattedData_SQLSERVERAGENT_SQLAgentJobsまたはWin32_PerfRawData_SQLSERVERAGENT_SQLAgentJobsクラスから結果を取得するにはどうすればよいですか?

更新:うーん...これは、SQL Server 2016 CU1 または SP1 CU2 可用性グループ インスタンスをクエリするときに問題になる可能性がありますが、一部のサーバーでは機能しますが、他のサーバーでは機能しません。更新を適用した後に動作を停止したように見え、システムを再起動した後でも、カウンターはインスタンスを返しません。スタンドアロン インスタンスでは常に期待どおりのデータが返されるため、この問題をまだ再現できていません。

PS C:\> gwmi Win32_PerfRawData_SQLSERVERAGENT_SQLAgentJobs | ft -AutoSize Name,Successfuljobs,FailedJobs,Activejobs

Name      Successfuljobs FailedJobs Activejobs
----      -------------- ---------- ----------
Others                 0          0          0
Alerts                 0          0          0
Schedules             20        106          0
_Total                20        106          0

また、これらのカウンターはsys.dm_os_performance_countersビューでは利用できないことに注意してください。

4

3 に答える 3