トップ回答者
AlwaysOnの読取専用サーバー(SQL Server2012)のSQL系パフォーマンスカウンターが表示されない

質問
-
お世話になります。
Windows Server 2012R2 Stn
SQL Server 2012 Ent
を使い、4ノードでAlwaysOnの構成を組んでいます。そして、読取専用ルーティングの設定を行っています。
今回、この環境下で1ノードだけSQL Server関係のパフォーマンスカウンターがパフォーマンスモニターに表示
されずに困っています。その問題の1ノードは、現在、読取専用サーバー(第一優先)として読取用アクセスで使用中です。
SQL Server関係のパフォーマンスカウンターが表示されないため、
1.コマンドプロンプトを起動して、以下のディレクトリに移動(*SQLServerのインストールディレクトリ)
C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn
2.そのディレクトリにsqlctr.iniとsqlctr.hが存在することを確認。
3.コマンドプロンプトで下記のコマンドを実行
unlodctr MSSQLServer
4.続けて、コマンドプロンプトで下記のコマンドを実行
lodctr sqlctr.ini
5.SQL Serverのサービスを再起動
と言う手順を行いましたが解決しませんでした。
そのため、試しに perf-MSSQLSERVERsqlctr.ini を使い
lodctr perf-MSSQLSERVERsqlctr.ini
を実行した結果、SQL系のパフォーマンスカウンターはパフォーマンスモニターに表示されました。
しかし、値が取得できませんし、インスタンス系が1つも表示されません。
例えば、SQLServer:Waite StatisticsのLock waits内のインスタンスが1つも表示さんれない。
何をどのようにすれば、SQL系のパフォーマンスカウンターを普通に使える用になるのでしょうか。
以上、アドバイスを頂けないでしょうか。
回答
-
こちらはAlwaysOnではなくクラスタですが、同様の現象について投稿がありました。
SQL Performance Counters are Missing
https://blogs.technet.microsoft.com/pfelatam/2011/08/08/sql-performance-counters-are-missing/
すでに実施された手順に加え、Remote Registory 等のサービス再起動やクラスタの再構成、レジストリ値の編集を行っています。
あるいは、以下のカウンタに、代替できるものはないでしょうか。
SQL Server、Database Replica
https://msdn.microsoft.com/ja-jp/library/ff878356(v=sql.120).aspx
SQL Server、Databases オブジェクト
https://msdn.microsoft.com/ja-jp/library/ms189883(v=sql.120).aspx
Monitor Performance for AlwaysOn Availability Groups
https://msdn.microsoft.com/ja-jp/library/dn135338%28v=sql.110%29.aspx?f=255&MSPPError=-2147217396
以上、参考まで。
すべての返信
-
こちらはAlwaysOnではなくクラスタですが、同様の現象について投稿がありました。
SQL Performance Counters are Missing
https://blogs.technet.microsoft.com/pfelatam/2011/08/08/sql-performance-counters-are-missing/
すでに実施された手順に加え、Remote Registory 等のサービス再起動やクラスタの再構成、レジストリ値の編集を行っています。
あるいは、以下のカウンタに、代替できるものはないでしょうか。
SQL Server、Database Replica
https://msdn.microsoft.com/ja-jp/library/ff878356(v=sql.120).aspx
SQL Server、Databases オブジェクト
https://msdn.microsoft.com/ja-jp/library/ms189883(v=sql.120).aspx
Monitor Performance for AlwaysOn Availability Groups
https://msdn.microsoft.com/ja-jp/library/dn135338%28v=sql.110%29.aspx?f=255&MSPPError=-2147217396
以上、参考まで。 -
SQL Performance Counters are Missingに書かれている内容で実施しましたが、
unlodctr とlodctr の実施結果は同じでしたが、
net stop "Remote Registry" && net start "Remote Registry"
net stop "Performance Logs & Alerts" && net start " Performance Logs & Alerts "
の実施結果は、そのようなサービスが見付からないと言う結果となりました。
その後レジストリーの確認と追加を行い lodctr /R の命令を実行させてOS再起動を実施しました。
結果としては、パフォーマンスモニターの各項目は表示されず、使用できる状態に変る事はありませんでした。
これって、SQL Serverかパフォーマンスモニターのバグだと思うのですが・・・
修正パッチや、他の解決方法などはないのでしょうか?
-
再度行ないましたが、やはりダメでした。
レジストリの内容を見ますと同じ種類のハードに同じ時期に設定した別の機器と比べると下記の違いなどがありました。
WindowsUpdate含め常に同じ環境下で使用しているはずですが、4ノード中1台のみ(問題のノードのみ)違いました。
なにか関係性があるのでしょうか? これは、再度SQL Serverをアンインストールして、インストールすれば直る話し
なのでしょうか?
正常に動作しているノード3台は、
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\<<service name>>\PerformanceのLibrary値は、perf-MSSQLSERVER-sqlctr11.3.6020.0.dll
今回問題となっているノード1台は、
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\<<service name>>\PerformanceのLibrary値は、perf-MSSQLSERVER-sqlctr11.2.5058.0.dll
以上、アドバイスまたは解決策を教えてください。
-
フォーラム オペレーターの星 睦美です。miniHORI さん、返信ありがとうございます。
検証の結果とあらたにレジストリの設定に関する情報をお知らせいただきました。質問を投稿いただいてから少し時間が経っていますので、新しい質問として投稿いただくほうがフォーラム ユーザーからの回答につながりやすいのではないかと思います。よろしければ新しい質問としてご投稿ください。
その際にこちらのスレッドを参照できるように付け加えていただくとトラブルシューティングの流れが分かると思います。よろしくお願いいたします。フォーラム オペレーター 星 睦美 - MSDN Community Support