You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何获取SQL Server Analysis Services数据源视图最后架构更新值?

获取SQL Server Analysis Services中数据源视图的最后架构更新值

绝对有办法拿到这个值!你之前用的$System.MDSCHEMA_CUBES聚焦于多维数据集的度量值、维度这类元数据,确实不会返回数据源视图相关的属性。这里给你两个简单有效的方案:

方案1:用专用DMV直接查询

SSAS提供了专门针对数据源视图的动态管理视图(DMV)——$System.MDSCHEMA_DATA_SOURCE_VIEWS,执行下面的查询就能直接获取你需要的最后架构更新时间:

SELECT 
  CATALOG_NAME AS DatabaseName,
  DATA_SOURCE_VIEW_NAME AS DSVName,
  LAST_SCHEMA_UPDATE AS LastSchemaUpdateTime
FROM $System.MDSCHEMA_DATA_SOURCE_VIEWS

返回结果里的LAST_SCHEMA_UPDATE字段,完全对应你在数据源视图属性对话框里看到的「最后架构更新」值。你可以根据需要添加筛选条件,比如指定CATALOG_NAME来缩小到特定数据库。

方案2:通过XMLA获取完整元数据

如果需要更详尽的数据源视图元数据,或者要通过脚本自动化提取,XMLA查询是个不错的选择:

<Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
  <RequestType>MDSCHEMA_DATA_SOURCE_VIEWS</RequestType>
  <Restrictions>
    <RestrictionList>
      <!-- 替换成你的目标SSAS数据库名称 -->
      <CATALOG_NAME>YourSSASDatabase</CATALOG_NAME>
    </RestrictionList>
  </Restrictions>
  <Properties />
</Discover>

执行这个XMLA请求后,返回的结果集中每个数据源视图对应的节点里,都会包含<LAST_SCHEMA_UPDATE>元素,其值就是属性对话框中的最后架构更新时间。

补充说明:不管是传统多维模型(Multidimensional)还是表格模型(Tabular)的SSAS实例,这两种方法都适用,表格模型里的数据源视图相关元数据同样会被正确返回。

内容的提问来源于stack exchange,提问作者Willie P

火山引擎 最新活动