流程维度失败并显示消息“发生来自 WriteFile 的 FileStore 错误”?
Posted
技术标签:
【中文标题】流程维度失败并显示消息“发生来自 WriteFile 的 FileStore 错误”?【英文标题】:Process dimension fails with message "A FileStore error from WriteFile occurred"? 【发布时间】:2009-01-07 12:47:50 【问题描述】:我正在尝试使用 SQL Server 2005 分析服务处理一个维度。这在过去可以正常工作,但最近失败了。
维度是分层的,使用来自单个表的 4 列(整个多维数据集使用单个表)。
收到的错误信息(无论我处理的是整个多维数据集还是维度,无论我是否“处理已满”)是这样的:
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 万行)。
以前可以使用(未进行任何更改) 该处理在显示错误之前读取了 1100 万行 显示错误时服务器上的物理内存已用完 在谷歌上搜索错误消息会导致一些结果表明列大小存在问题。谁能指出我正确的方向?我想一种出路可能是尝试使用更小的列(varchar(x) 而不是 varchar(y)),但感觉就像是在绕过问题而不是解决问题。
最好的问候 埃里克·拉尔森
【问题讨论】:
这个多维数据集是从 SQL 2000 迁移过来的吗? 是的,这个多维数据集是今年早些时候从 SQL 2000 迁移而来的。 【参考方案1】:检查所有相关维度的维度属性“ProcessingGroup”。如果设置为'ByTable'
,请尝试将其设置为'ByAttribute'
这可能导致处理大维度(成员数、属性数等)问题的原因是,当使用ByTable
设置时,它会尝试将整个维度放入内存中。
【讨论】:
【参考方案2】:此错误的其他原因可能是 .asstore 文件的大小限制。如果 ProcessUpdate 定期处理的文件大小约为 4Gb,则必须使用 ProcessFull 对其进行处理以解决此问题。
我找到了这个解决方案here
【讨论】:
【参考方案3】:对引发错误的维度进行全面重新处理对我有用。
【讨论】:
以上是关于流程维度失败并显示消息“发生来自 WriteFile 的 FileStore 错误”?的主要内容,如果未能解决你的问题,请参考以下文章