プロセスディメンションがメッセージで失敗する“ WriteFileからFileStoreエラーが発生しました&#8221 ;?
-
05-07-2019 - |
質問
SQL Server 2005 Analysis Services を使用してディメンションを処理しようとしています。これは過去に問題なく機能していましたが、最近失敗しました。
ディメンションは、1つのテーブルの4つの列を使用して階層的です(キューブ全体では1つのテーブルを使用します)。
受け取ったエラーメッセージ(キューブ全体またはディメンションを処理する場合、「完全に処理する」かどうかに関係なく)は次のとおりです。
File system error: A FileStore error from WriteFile occurred. Physical file:
\\?\L:\Microsoft SQL Server\MSSQL.3\OLAP\Data\MSMDCacheRowset_xxx.tmp.
Logical file: . .
私の推測では、これは成長するデータの量に関連している(現在、特定のテーブルには1500万行あります)。
- 以前は機能していました(変更は行われていません)
- 処理はエラーを表示する前に1,100万行を読み取ります
- エラーが表示された時点でサーバーの物理メモリが不足しています
- エラーメッセージをググリングすると、列サイズが問題であることを示すいくつかのヒットが発生します。
誰かが私を正しい方向に向けることができますか?解決方法の1つは、より小さい列(varchar(y)ではなくvarchar(x))を使用することですが、問題を解決する代わりに問題を回避するように感じることでしょう。
よろしくお願いします
エリック・ラーソン
解決
ディメンションプロパティ" ProcessingGroup"を確認します。関連するすべてのディメンションについて。 'ByTable'
に設定されている場合は、 'ByAttribute'
これにより大きなディメンション(メンバー数、属性数など)で処理の問題が発生する可能性があるのは、 ByTable
設定を使用する場合、ディメンション全体をメモリに配置しようとするためです。 。
他のヒント
このエラーのその他の理由は、.asstoreファイルのサイズの制限です。ファイルのサイズとサイズがProcessUpdateで定期的に処理されるサイズが約4Gbの場合、この問題を解決するにはProcessFullで処理する必要があります。
この解決策を見つけましたこちら
エラーをスローするディメンションの完全な再処理を行うと、うまくいきました。