web-dev-qa-db-ja.com

SQL Server 2008 R2パフォーマンスカウンターを復活させる方法は?

デフォルトのインスタンスとして、Windows 7 x64でSQL Server 2008 R2 Developerを実行しています。何らかの理由で、SQL Serverのパフォーマンスカウンターが表示されなくなったようです。 SELECT * FROM sys.dm_os_performance_countersはゼロ行を返します。

実行してみましたlodctr /T:perf-MSSQLSERVERsqlctr.ini。エラーなしで完了しましたが、リモートレジストリサービスを再起動しても、何も修正されませんでした。実際、カウンタはperfmonから欠落しています。 unlodctr MSSQLSERVERはまだカウンターがインストールされていないと言いますが、lodctr /Q:MSSQLSERVERは存在し、有効になっていると言います。通常のWindowsおよび.NETカウンターは正常に機能しています。

Windowsエラーログにエラー8317が表示されます。

レジストリキー 'HKLM\SYSTEM\CurrentControlSet\Services\MSSQLSERVER\Performance'に関連付けられた値 'First Counter'をクエリできません。 SQL Serverパフォーマンスカウンターが無効になっています。

SQL 2012 RC0のインストールが失敗したために問題が引き起こされたのではないかと思います。 SQL Server 2008 R2を再インストールする以外に、回復方法に関する提案はありますか?

11
RickNZ

lodctr /Rを試すと、レジストリに保存されている情報からすべてのパフォーマンスカウンターが再構築されます。

4

これを読む:

http://blogs.msdn.com/b/psssql/archive/2009/03/03/troubleshooting-sql-server-2005-2008-performance-counter-collection-problems.aspx

正確な指示は100%正確ではありません。デフォルトのインスタンスを使用していると仮定して、これを行う必要があります。

unlodctr MSSQLSERVER
lodctr perf-MSSQLSERVERsqlperf.ini
lodctr /T:MSSQLSERVER

その後、再起動します。

4
Eric Stephani

パフォーマンスカウンターの欠落は繰り返し発生する問題です。

いくつかの既知のソリューションがここにリストされています: http://blogs.msdn.com/b/varund/archive/2010/06/25/sql-server-missing-performance-counters-a-consolidated-list-of -known-issues.aspx

2
gbn

SQL Serverのパフォーマンスカウンターが無効になっているか、パフォーマンスカウンターのレジストリエントリが破損しているようです。

lodctr /E:MSSQLSERVERは、パフォーマンスカウンターのレジストリ設定を再読み込みします。

2
RAVJEET SINGH

Windowsの64ビットインストールで32ビットバージョンのSQL Serverを実行している場合は、32ビットバージョンのパフォーマンスモニターを使用して、カウンターを表示する必要があります このMSDNブログ 。次のいずれかの方法を使用してください。

  1. perfmon.exeフォルダから%windir%\SysWOW64を実行します
  2. コマンドmmc /32 perfmon.mscを実行します

また、SQL Serverが最新のサービスパックとホットフィックスで実行されていることを確認してください。 MSKB記事2708726 は、SQL Server 2008 R2またはSQL Server 2012に更新を適用すると、パフォーマンスモニターの.dllファイルが正しく更新されない問題について説明しています。