使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

此修补程序也适用于 Microsoft SQL Server 2014 Analysis Services (SSAS 2014)。

症状

假设你在 Microsoft SQL Server 2012 Analysis Services (SSAS 2012)或 SQL Server 2014 Analysis Services (SSAS 2014)多维数据集(Tfs_Analysis)中有一些维度,其中包含 Microsoft Visual Studio Team Foundation Server (TFS)的数据。 当你针对维度运行 流程 命令时,处理可能会失败,并且你会收到以下错误消息:

内部错误:发生意外错误(文件 "pfiallocator"、行822、函数 "PFMemoryHolder:: RegisterMemoryHolder")。

如果使用 SQL 事件探查器跟踪问题,跟踪会显示在vDimWorkItemTreeOverlay维度上的ProcessFull命令期间出现以下错误消息:

内部错误:发生意外错误(文件 "pfiallocator"、行822、函数 "PFMemoryHolder:: RegisterMemoryHolder")。 OLAP 存储引擎中的错误:处理 "Tfs_Analysis" 数据库中的 "工作项树" 维度的 "WorkItemTreeSK" 属性时发生错误。

注意处理失败影响具有使用 SQL Server 的托管 .NET Framework 数据提供程序的数据源的 Analysis Services 数据库设计(即 SqlClient。

原因

出现此问题的原因是 Analysis Services 处理使用数据源中的重复维度密钥值。

SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

更多信息

应用此修补程序后,处理过程将根据处理错误配置设置进行操作,而不是根据内部错误症状。你可以通过在处理 SSAS 维度时使用 " 重复键 " 设置来控制该行为。 或者,你可以通过配置ErrorConfiguration属性的KeyDuplicate属性来控制行为,如下所示在设计维度:

  • 当 KeyDuplicate 设置设置为默认设置 IgnoreError时,遇到重复键值时不会出现任何警告,并且处理会继续。

  • 当 KeyDuplicate 设置设置为 ReportAndContinue 时 , 将报告错误或警告。 但是,处理会继续。

  • 当 KeyDuplicate 设置设置为 ReportAndStop时,将报告错误或警告,并且处理停止。

状态

Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。

解决方法

若要解决此问题,请在 SQL Server 数据库引擎的数据仓库维度表中删除无效的重复键。 可以使用以下查询查找重复键:SELECT COUNT(WorkItemTreeSK) WorkItemTreeSKCount, WorkItemTreeSKFROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlayGROUP BY WorkItemTreeSKHAVING COUNT(WorkItemTreeSK) >1

参考

有关处理选项和设置的详细信息,请转到以下 MSDN 网站:

有关处理选项和设置的信息有关如何手动处理仓库或多维数据集的详细信息,请转到以下 MSDN 网站:

手动处理 Team Foundation Server 的数据仓库和 Analysis Services 多维数据集

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×