我是SQL Server的新手,我正试图通过在DAX Studio中使用此DMV查询来获取有关SSAS解决方案中所有表的信息,并且它像一种魅力一样工作并提供所有信息。
select * from $System.TMSCHEMA_TABLES
但是当我尝试使用以下命令获取有关特定列的信息时,会出现错误。
select ID, NAME, MODIFIED_DATE from $System.TMSCHEMA_TABLES
分区部分$System.TMSCHEMA_PARTITIONS
运行正常。最终,我想实现以下目标:
Select t2.Name,t1.ModifiedTime,t1.RefreshedTime
from
$System.TMSCHEMA_PARTITIONS t1
Inner join
$System.TMSCHEMA_TABLES t2 ON t1.TableID = t2.ID
答案 0 :(得分:2)
这些是DMV而不是SQL查询,它们实际上是用MDX编写的,因此您不能像通常在SQL查询中那样选择/联接。
此:
select [ID],
[NAME],
[ModifiedTime]
from $System.TMSCHEMA_TABLES
可以工作
但是,如果要在ID上加入结果,则必须找到其他解决方案。
答案 1 :(得分:0)
另一种替代方法是在具有SSAS实例的数据库实例Crete链接服务器上。 在sql上使用openrowset从SSAS的DMV查询中获取信息,并将其加载到临时表中,并在随后的联接中使用它。
参考: