SSMSアクティビティモニターを機能させるための修正はありますか?
問題:
SQL Serverアクティビティモニターがエラーダイアログで失敗する:
TITLE:Microsoft SQL Server Management Studio
アクティビティモニターはサーバー[SERVER]に対してクエリを実行できません。このインスタンスのアクティビティモニターは一時停止状態になります。アクティビティモニターを再開するには、概要ペインのコンテキストメニューを使用します。追加情報:
サーバー[SERVER]でSQL ServerプロセスID [PID]が見つかりません(Microsoft.SqlServer.Management.ResourceMonitoring)
私はSQL Server 2008 R2 x64 Developer Editionでこの問題を抱えていますが、SQL Server 2008を使用するすべての64ビットシステムで、まだ特定されていない条件下で見つかると思います。
Microsoft Connectにはこれに関する バグレポート がありますが、まだ解決されていません。
SQLServerパフォーマンスカウンターがパフォーマンスモニターに存在するかどうかを確認します。そうでない場合、 すべてのパフォーマンスカウンターを手動で再構築 実行中lodctr /R
管理権限付きのコマンド:
cd \windows\system32
lodctr /R
OK、私は解決策を見つけたと思う。
問題は、相互にクエリする必要がある32ビットと64ビットのアプリの組み合わせにあるようです。
サービスコントロールパネルでサービスパフォーマンスカウンターDLLホストを有効にすると、アクティビティモニターが機能するようになります。
最も単純なケースでは、SSMSを再起動するだけです。アクティビティモニターの実行中にネットワーク接続が失われた後、2005サーバーに対して実行されているSSMS 2008 R2でこの問題が発生しました。 SSMSの再起動を試みる前に、いくつかのトリックを試しましたが、それが役に立ちました。
SQLがWindows 2008 R2サーバーまたはクラスターで実行されている場合は、パフォーマンスモニターアプリケーションに移動し、データコレクションセットを展開して、システムパフォーマンスを選択します。メニューの下の線にある矢印が緑色の場合は、それをクリックするだけです。これにより、カウンターが再起動されます。システム診断コレクションセットでも同じように実行できます。
次に、SSMSアクティビティモニターを開くSQLインスタンスへの新しい接続を更新または開くだけで、問題は解決されているはずです。
私は今日これに偶然遭遇しました。もちろん、概要ペインのコンテキストメニューを使用してアクティビティモニターを再開するというエラーメッセージは、私には何の助けにもなりませんでした。
これが誰かを助けることを願っています。
この問題に関する私の経験を投稿したいと思いました。
症状-SQL Server 2008 R2は、Dellマシンで、突然、大幅なパフォーマンスの低下に見舞われました。クエリを実行すると、ユーザーアプリケーションが非常に遅くなります。アクティビティモニターが起動しますが、プロセスリストを開こうとすると、上記のプロセスタイムアウトエラーが発生します。
データベースの復元されたバックアップは、メモリが半分の2台目のサーバーで正常に実行されました。これらの同じバックアップを元のサーバーに復元しても問題は解決しませんでした。
私はすべてのデータベースでdbccを実行し、インデックスを再構築しました。 Windowsページファイルを強制的に再作成します。 SQLサーバーの再起動を試みました。サーバーを再起動してみました。これらはどれも機能しませんでした。上記のようにパフォーマンスカウンターをリセットします。これにより、サーバーのCPU使用率は向上しましたが、問題は解決しませんでした。
私たちのネットワーク管理者は、ハードウェアの問題を除外したいと考えていました。彼はRAIDコントローラーのデバイスドライバーを更新し、サーバーの電源を切りました。彼はデルの電源シーケンスを使用してメモリをパージしましたが、これには電源からの切断が含まれていました。再起動後、サーバーは正常に動作しました。
電源を入れ直すことで問題が解決し、根本的な問題はハードウェアメモリにあると考えられます。
同じエラーメッセージが表示され、技術詳細が表示されました。これにより、Microsoft.SqlServer.Management.ResourceMonitoring.dllが表示されました。エラーをスローしていたメソッドを逆コンパイルしましたが、コードを少し追跡したところ、「Process」グループのPerformanceCounterがインスタンス化されようとしている領域が見つかりました。私はPerfmonをチェックインしましたが、そのグループはそこにいませんでした。他のカウンターは機能していましたが、そのカウンターはありませんでした。そのグループはどういうわけか無効になったようです。
修正方法:regeditを使用してHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performanceを検索し、そこにDisable Performance Countersというキーがあります。これを削除するか、0に設定します。キーを変更した後、再起動が必要になる場合があります。
まだコメントできないので、新しい答えを...
EightVansの提案を最初に試しました
修正方法:regeditを使用してHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performanceを検索し、そこにDisable Performance Countersというキーがあります。これを削除するか、0に設定します。キーを変更した後、再起動が必要になる場合があります。
そして、私はまだ問題を経験しました。次に、ルノーの提案を試しました:
サービスコントロールパネルでサービスパフォーマンスカウンターDLL Hostを有効にすると、アクティビティモニターが機能するようになります。
そして、私はまだ問題を経験しました。次に、ミカの提案を試しました:
SQLServerパフォーマンスカウンターがパフォーマンスモニターに存在するかどうかを確認します。そうでない場合は、管理者権限でlodctr/Rコマンドを実行するすべてのパフォーマンスカウンターを手動で再構築します。
これで、アクティビティモニターが機能します。
私はただします
まずエイトバンズの提案
修正方法:regeditを使用してHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performanceを検索し、そこにDisable Performance Countersというキーがあります。これを削除するか、0に設定します。キーを変更した後、再起動が必要になる場合があります。
そしてミカの提案:
SQLServerパフォーマンスカウンターがパフォーマンスモニターに存在するかどうかを確認します。そうでない場合は、管理者権限でlodctr/Rコマンドを実行するすべてのパフォーマンスカウンターを手動で再構築します。
そして、私のシステムでアクティビティモニターが実行されています!