現象
SQL Server Analysis Services でディメンションに対して処理操作を実行しているときに、サービスがメモリ圧迫の下にあると、ディメンションを処理できず、データが壊れる可能性があります。注: この問題は、普及していない比較的まれな競合状態で発生します。 この問題が発生すると、正しくないディメンションリレーションシップまたはProcessupdate エラーが発生する可能性があります。この問題は、次のような状況で発生しています。
-
Analysis Services メモリ使用量が、処理操作中にサービスに対して構成されている上位メモリ制限を超えています。 Analysis Services は、メモリページを積極的にクリアします。
-
処理中に問題に関するエラーやメッセージは記録されないため、ディメンション処理は失敗しません。 代わりに、処理が完了し、破損したデータがディメンションファイルに書き込まれます。
-
この問題は、新しく追加されたディメンションメンバーに対して正しくないディメンションの属性リレーションシップとして表示される可能性が最も高いと考えられます。 たとえば、Product ディメンションのメンバーは、不適切なカテゴリまたはサブカテゴリの下に表示されます。
-
このような破損が発生することもあります。これは、厳密な属性のリレーションシップが含まれている次元での後続のProcessupdateとして、次のエラーメッセージが表示され、ディメンションの処理が失敗します。
属性間の剛体リレーションシップは、ディメンションの段階的な処理中に変更することはできません。
注: このエラーは、基になるデータソースの変更など、正当な理由により発生することもあります。 ただし、ディメンションのソースとして機能するテーブルまたはビューの基になるデータが変更されていない場合は、これがエラーの原因である可能性があります。
-
この問題が発生するのは、サーバーがメモリ圧迫の下にある場合、またはディメンションの処理が完了する前に、クリーナーのスレッドが新しく追加されたディメンションメンバーのデータページを evicts した場合に発生することがあります。 これは、Analysis Services サービスでのディメンション処理スレッドとメモリクリーナースレッドの間の競合状態です。
-
この修正プログラムをインストールすると、問題は発生しなくなりますが、問題を解決するために影響を受けるオブジェクトを再処理する必要があります。
-
サーバーがメモリ不足の場合、影響を受けるディメンションの Processupdateは、すべての柔軟な関係に関するこの問題の原因となっている破損を修正します。 影響を受けるディメンションに1つ以上の固定属性のリレーションシップがある場合は、上記のエラーにより処理が失敗します。
-
厳密な関係が含まれるディメンションの問題を修正するには、サーバー上の影響を受けるディメンションの属性リレーションシップを変更して、 Processupdateを実行します。 これにより、属性リレーションシップを厳密に戻すことができ、そのディメンションを使うメジャーグループのインデックスを再構築することができます。
-
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
Sql server 2014の累積更新プログラム 14累積更新プログラム 4 (sql server 2012 3の累積更新プログラム 13) FOR sql server 2012 SP2累積更新プログラム 7 (sql server 2014 service pack 1 )
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
Sql server 2014SP3 向けの最新の累積更新プログラム sql server 2012 SP3の最新の累積的な更新プログラムの最新の累積的な更新プログラム ( sql server 2012 SP2 )
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
Microsoft でソフトウェアの更新について説明する 用語 について説明します。