[SSAS] SQL Server Analysis Services トラブルシューティングのご案内

山崎 実久
SQL Server Developer Support Engineer

以前、SQL Server Engine のトラブルシューティングSQL Server Reporting Services のトラブルシューティングについて案内いたしました。
今回は SQL Server Analysis Services (SSAS) のトラブルシューティングに必要な情報採取項目について本 blog でご案内します。

SSAS に関して問題が発生した場合、以下の情報を採取後、2 以降のログに対し問題が発生した日時に関連するエラーが記録されていないか確認します。

1. Analysis Services のバージョンの確認 2. イベントログ(アプリケーション、システム、セキュリティ) の確認 3. Analysis Services のログの確認 4. Analysis Services の構成情報の確認 5. パフォーマンスログの確認 6. サーバートレースの確認

1. Analysis Services のバージョンの確認
===========================
現象が発生した Analysis Services のバージョン(Build 番号)を正確に把握し、バージョンに関する技術情報で確認できる類似の問題の修正が該当環境に既に適用されているか否かを判断できます。

Analysis Services のバージョンは、SQL Server Management Studio から Analysis Services インスタンスへ接続し、オブジェクトエクスプローラーから該当インスタンスのアイコン(キューブの形をしています)の右側を参照することで確認できます。

2. イベントログ(アプリケーション、システム、セキュリティ) の確認
===========================
イベントログ(アプリケーション、システム、セキュリティ) の確認方法は、以前本 blog [SQL Troubleshooting] 第1回 : Tips - SQL Server エラーログとイベント ログを採取する (SQL 2000 ~ 2008 R2) で確認します。

3. Analysis Services のログの確認
===========================
SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012, SQL Server 2014 のバージョンごとに Analysis Services のログである msmdsrv.log  や、フライトレコーダーとよばれる FlightRecorderCurrent.trc および FlightRecorderBack.trc のログの確認手順を記載します。

※ フライトレコーダーは既定では 1 時間毎、またはファイルサイズが 10 MB を超えると破棄されます。この為、問題が発生した際は、破棄される前にログフォルダ配下を待避ください。なお、拡張子 .trc は SQL Server の Profiler を起動し該当のファイルを開いて内容を確認します。

Analysis Services のインストール フォルダ下の Log フォルダ配下に出力されるファイルを確認します。
各バージョンごとの既定のログフォルダ配下は以下になります。

-- SQL Server 2005
C:\Program Files\ \Microsoft SQL Server\MSSQL.n\OLAP\Log

※ MSSQL.n の n は整数値で、SQL Server、Analysis Services などのインストールの有無により異なります。対象のインスタンスと MSSQL.n は次のレジストリで確認します。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instancenames\OLAP

-- SQL Server 2008
C:\Program Files\Microsoft SQL Server\MSAS10.xxx\OLAP\Log

※ MSAS10.xxxx の xxxx はインスタンス名称です。たとえば既定の C ドライブにインストールされた既定のインスタンスの場合、以下のようになります。
C:\Program Files\Microsoft SQL Server\MSAS10.MSSQLSERVER\OLAP\Log

-- SQL Server 2008 R2
C:\Program Files\Microsoft SQL Server\MSAS10_50.xxx\OLAP\Log

※ 既定の場合
C:\Program Files\Microsoft SQL Server\MSAS10_50.MSSQLSERVER\OLAP\Log

-- SQL Server 2012
C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Log

※ 既定の場合
C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Log

-- SQL Server 2014
C:\Program Files\Microsoft SQL Server\MSAS12.xxx\OLAP\Log

※ 既定の場合
C:\Program Files\Microsoft SQL Server\MSAS12.MSSQLSERVER\OLAP\Log

4. Analysis Services の構成情報の確認
===========================
Analysis Services の構成情報は SQL Server Management Studio から該当の Analysis Services インスタンスへ接続、インスタンスを右クリック - プロパティ - [分析サーバーのプロパティ] の全般ページから確認できます。
この設定から、現在の値と既定値の比較調査が可能です。

なお、本分析サーバーのプロパティから確認できる構成情報を含む、すべての Analysis Services の構成情報は、msmdsrv.ini に格納されています。SQL Server のバージョン毎の msmdsrv.ini ファイルの場所は以下となります。

-- SQL Server 2005
C:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\Config

+参考情報
Analysis Services のサーバーのプロパティの構成
https://msdn.microsoft.com/ja-jp/library/ms174556(v=sql.90).aspx

-- SQL Server 2008
C:\Program Files\Microsoft SQL Server\MSAS10.MSSQLSERVER\OLAP\Config

+参考情報
Analysis Services のサーバーのプロパティの構成
https://msdn.microsoft.com/ja-jp/library/ms174556(v=sql.100).aspx

-- SQL Server 2008 R2
C:\Program Files\Microsoft SQL Server\MSAS10_50.MSSQLSERVER\OLAP\Config

+参考情報
Analysis Services のサーバーのプロパティの構成
https://msdn.microsoft.com/ja-jp/library/ms174556(v=sql.105).aspx

-- SQL Server 2012
C:\Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Config

+参考情報
Analysis Services のサーバーのプロパティの構成
https://msdn.microsoft.com/ja-jp/library/ms174556(v=sql.110).aspx

-- SQL Server 2014
C:\Program Files\Microsoft SQL Server\MSAS12.MSSQLSERVER\OLAP\Config

+参考情報
Analysis Services のサーバーのプロパティの構成
https://msdn.microsoft.com/ja-jp/library/ms174556.aspx

5. パフォーマンスログの確認
===========================
パフォーマンスログの採取方法および解析方法は、以前以下のブログでお伝えいたしました内容を確認し実施ください。
[SQL Troubleshooting] 第2回 : Tips -パフォーマンス ログの採取方法 (Windows Server 2003 ~ Windows Server 2008 R2)
[SQL Troubleshooting] 第3回 : パフォーマンスログの確認方法について

パフォーマンスカウンタの詳細につきましては、下記をご参照ください。

-- SQL Server 2005 から SQL Server 2008 R2 まで

SQL Server 2008 R2 Analysis Services Operations Guide
https://msdn.microsoft.com/library/hh226085.aspx
 
-- SQL Server 2012

パフォーマンス カウンター (SSAS)
https://msdn.microsoft.com/ja-jp/library/hh230807(v=sql.110).aspx

-- SQL Server 2014 

パフォーマンス カウンター (SSAS)
https://msdn.microsoft.com/ja-jp/library/hh230807.aspx

6. サーバートレースの確認
===========================
Analysis Services に対してどのようなクエリが発行されているかについて確認します。
下記ブログに記載の手順で Analysis Servicesの サーバートレースを利用し情報を採取します。

[SSAS] SQL Server Analysis Services トレース採取方法

以上、SQL Server Analysis Services に関するエラーの切り分けに是非ご活用ください。