none
AlwaysOnの読取専用サーバー(SQL Server2012)のSQL系パフォーマンスカウンターが表示されない RRS feed

  • 質問

  • お世話になります。

    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系のパフォーマンスカウンターを普通に使える用になるのでしょうか。

    以上、アドバイスを頂けないでしょうか。

    2016年5月9日 2:24

回答

すべての返信

  • こちらは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

    以上、参考まで。
    • 回答の候補に設定 星 睦美 2016年5月17日 5:59
    • 回答としてマーク 星 睦美 2016年7月13日 7:29
    2016年5月9日 14:26
  • ありがとうございます。

    すぐに実施する事は困難なため、月末に実施してみます。

    2016年5月17日 5:55
  • 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かパフォーマンスモニターのバグだと思うのですが・・・

    修正パッチや、他の解決方法などはないのでしょうか?

    2016年6月6日 1:52
  • "Remote Registory" は表示名なので、 "RemoteRegistry" でご確認ください。

    "Performance Logs & Alerts"も、"pla"が正式名です。

    • 回答の候補に設定 星 睦美 2016年7月5日 4:08
    • 回答としてマーク 星 睦美 2016年7月13日 7:29
    2016年6月6日 4:05
  • 再度行ないましたが、やはりダメでした。

    レジストリの内容を見ますと同じ種類のハードに同じ時期に設定した別の機器と比べると下記の違いなどがありました。

    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

    以上、アドバイスまたは解決策を教えてください。

    2016年11月22日 3:50
  • フォーラム オペレーターの星 睦美です。miniHORI さん、返信ありがとうございます。

    検証の結果とあらたにレジストリの設定に関する情報をお知らせいただきました。質問を投稿いただいてから少し時間が経っていますので、新しい質問として投稿いただくほうがフォーラム ユーザーからの回答につながりやすいのではないかと思います。よろしければ新しい質問としてご投稿ください。

    その際にこちらのスレッドを参照できるように付け加えていただくとトラブルシューティングの流れが分かると思います。よろしくお願いいたします。


    フォーラム オペレーター 星 睦美 - MSDN Community Support

    2016年11月22日 4:15