トップ回答者
SSASのディメンション完全処理で、タイムアウトしてしまう

質問
-
はじめまして。SSASのエラーで悩んでいます。同じような経験をされた方、いらっしゃらないでしょうか。
私は、SSISを使って、CSVデータを取り込んで、DBを更新した後、SSASを使って、キューブを更新しています。
かれこれ半年ほど調子よく動いていたのですが、最近ディメンションの完全処理のところで、クエリがタイムアウトしてしまいます。
タイムアウトするクエリは、普段は数秒で終わるのに、60分かかってタイムアウトします。
実際にSSMSで投げてみてもやっぱり時間がかかります。クエリは、以下の通りです。
SELECT DISTINCT [FT].[A_KBN] AS [FTA_KBN0_0]
, [MT].[MTA_KBN_NAME1_0] AS [MTA_KBN_NAME1_0]
, [MT].[MTA_KBN_CD1_1] AS [MTA_KBN_CD1_1]
FROM [dbo].[T1] AS [FT]
, (SELECT DISTINCT [A_KBN_NAME] AS [MTA_KBN_NAME1_0]
, [A_KBN_CD] AS [MTA_KBN_CD1_1] FROM [dbo].[T2]
) AS [MT]
WHERE (([FT].[A_KBN] = [MT].[MTA_KBN_CD1_1]))データに原因があると思い、確認したのですが、特におかしなところがなく、SSISから再実行したところ、なぜかタイムアウトせずにうまくいきました。
一過性のことかと思っていたのですが、3回に1回くらい、うまくいかないときがあります。
タイムアウトした後、同じデータを読み込むSSISから再実行しただけでもうまくいってしまいます。
きつねにつままれた感じなのですが、同じような経験をされた方、いらっしゃらないでしょうか。
このクエリはSSASの中で何をしているものなのでしょうか。それがわかれば、何か糸口がつかめるのではないかと思っています。
回答
-
遅いレスポンスですが・・・
提示のSQLは、SSASのディメンジョンを構築するために
データベースからデータを抽出している処理です。
ですので、ここがTIMEOUTということは、DBサーバーで
何らかの問題が起きていることを疑ってください。複雑なクエリでもないので、数秒が60分たってTIMEOUTというのは
①テーブルにロックが掛かっている
SSASは、テーブルデータを読み込むだけなので
別の取り込み処理や更新処理でデッドロックを起こしている可能性があります。
②ネットワークが安定していない
SSASからは、データベースに対してクライアントとして
接続しています。この接続で障害が発生していると
SSAS側ではレスポンス待ちしているのに、DBサーバー側では
何もしていないという事態が生じることが想像されます。
③データベースが固まっている
データベースが大規模データを処理していてメモリを食いつぶし、
ほぼ固まっているような状態になっている。
若しくは、データベースのサービス自体がトラブルを起こしている。
というような状態がケースとして思い浮かびます。別のSSASでエラーが起きているのであれば、②が濃厚な感じがします。
---------------------------------
Infospire Kayano
すべての返信
-
遅いレスポンスですが・・・
提示のSQLは、SSASのディメンジョンを構築するために
データベースからデータを抽出している処理です。
ですので、ここがTIMEOUTということは、DBサーバーで
何らかの問題が起きていることを疑ってください。複雑なクエリでもないので、数秒が60分たってTIMEOUTというのは
①テーブルにロックが掛かっている
SSASは、テーブルデータを読み込むだけなので
別の取り込み処理や更新処理でデッドロックを起こしている可能性があります。
②ネットワークが安定していない
SSASからは、データベースに対してクライアントとして
接続しています。この接続で障害が発生していると
SSAS側ではレスポンス待ちしているのに、DBサーバー側では
何もしていないという事態が生じることが想像されます。
③データベースが固まっている
データベースが大規模データを処理していてメモリを食いつぶし、
ほぼ固まっているような状態になっている。
若しくは、データベースのサービス自体がトラブルを起こしている。
というような状態がケースとして思い浮かびます。別のSSASでエラーが起きているのであれば、②が濃厚な感じがします。
---------------------------------
Infospire Kayano