由于数据库中的结构更改,当前会话不再可用-表格

时间:2018-07-16 16:24:48

标签: ssas powerbi dax ssas-tabular

我们正在使用SQL Server表格模型,该模型用于自助BI。每月我们有大约90个不同的人在使用该模型。最近,我们在连接到表格模型的客户端工具(Excel和Power BI)中遇到了一些问题/错误。查看屏幕截图。在过去的一段时间里,我们没有对该模型进行任何重大更改。 我们注意到,在增量加载后,错误仍然不断出现,即,我们每隔15分钟处理多个分区的完整过程。该过程由SSIS作业启动,该作业每15分钟安排一次,并在3个表中处理5个分区。

编辑:经过一些研究,我发现问题出在视角上。每当我对任何对象进行完整处理时。出现错误。在默认模型视图上不会发生这种情况。仍然没有找到解决方案。

当您更改Power Bi报表或excel文件时发生错误。例如,当您进行刷新或单击过滤器时。如果您多次按刷新,则连接恢复,一切正常。客户似乎失去了与模型的联系。 15分钟后,问题再次出现。

这对于用户来说非常麻烦。尤其是在演示过程中。

这是我们尝试的:

  • 我们尝试在Google搜索解决方案
  • 检查我们是否拥有最新的SQL Server 2016更新(13.0.5149.0)
  • Visual Studio中的SSAS构建(2015 en 2017)
  • 没有对表的完整处理,仅对 分区。
  • 将服务器的核心从4个升级到8个。

我希望有人能帮助我们。

Screenshot Power BI

Screenshot Excel

3 个答案:

答案 0 :(得分:1)

仅分区的整个过程甚至整个表都不会出现错误。我们每小时都会对许多核心表执行此操作,并且看不到任何此类问题(而且我们会这样做)

我从以下假设开始

  • 您的15分钟的过程所做的不只是使用刷新命令处理分区
  • 环境(计划的或未计划的)上正在发生其他事情。谁有权更改架构?是用户/开发人员是否故意进行更改?

引起这种错误的唯一原因是Alter,Delete或CreateOrReplace TMSL命令

因此,除非这触发了您对诊断过程的想法,否则请执行以下步骤

注意:我想您的用户在您的测试环境中运行15分钟的处理例程时也会看到此问题。您应该在没有其他任何操作的测试环境上执行以下操作,以消除其他人干扰实验的可能性。如果您没有代表性的测试环境,则必须现场进行,但我将在数小时内或在某种变更控制过程中执行此操作,关闭15分钟的刷新,并严格锁定对多维数据集的管理员权限确保没有任何东西可以干扰您的实验。

首先证明您可以使用15分钟的例程重现此问题

  • 获取已知会显示错误的示例PowerBI报告(我更喜欢Power BI作为repro,因为它比Excel稍微简单一点)
  • 刷新PowerBI并浏览数据以证明没有发生错误
  • 运行15分钟的过程
  • 您现在应该看到报告的问题。如果这样做,太好了,您有可复制的问题!如果您不这样做,那么它与您想像的不一样,您需要找到可靠地重现这些错误的方法。 (也许正在发生其他不是15分钟的过程)

因此,现在您确定如何重现此问题,需要确定是否真的是导致问题的处理

  • 刷新PowerBI并浏览数据以证明没有发生错误
  • (通过SSMS)执行XMLA,该XMLA为您的一张表处理整个数据库

它应该看起来像这样

{  
  "refresh": {  
    "type": "full",  
    "objects": [  
      {  
        "database": "yourdbname"  
      }  
    ]  
  }  
}  
  • 执行用户在看到问题时要做的事情。
  • 如果您也看到此问题,那么我将向Microsoft支持寻求支持,因为这不应该发生
  • 如果您没有看到此问题,则可以优化此处理,使其成为单个表的分区。但是,如果我们不应该更改结果,则对上面的整个数据库进行了处理
  • 如果您仍然看不到问题,那么不是导致此问题的处理程序(我怀疑),而是15分钟例程中的其他原因。深入了解该过程并了解它在做什么。

与此同时,检查日志应显示是否还有其他处理任务或XMLA类型发生。

我希望这些想法能使您更接近发现真正为用户带来这种体验的活动。如果您可以发表自己的经历和发现的内容,那就太好了。

答案 1 :(得分:0)

如果在SQL Server 2017上安装最新的CU,我在这里也会遇到同样的问题。由于此问题,我的生产环境仍在运行CU3(2018年1月)。

知道我建议将您的安装恢复到以前的版本。也许是13.0.5026.0(SP2),甚至可能是13.0.4466.4(2018年1月)。

答案 2 :(得分:0)

我在安装SQL Server 2017 CU 11时遇到相同的问题。 如果在现有连接中使用“透视图”并结合使用“完全刷新”,则确实会发生此问题。在连接中使用默认“模型”的解决方法确实可以“解决”问题。