3

有没有一种方法可以使用 DMV 或 XMLA 动态发现具有特定名称的分区是否已存在于我的多维数据集中?

谢谢

4

2 回答 2

4

如果您想要一个可以通过 MDX 查询的 DMV,您可以使用该$System.DISCOVER_OBJECT_ACTIVITY架构,然后根据以下内容对其进行过滤OBJECT_PARENT_PATH

SELECT OBJECT_ID
FROM $System.DISCOVER_OBJECT_ACTIVITY
[Server].Databases.[DatabaseID].Cubes.[CubeID].Measure Groups.[MeasureID].Partitions
于 2014-03-20T11:15:19.257 回答
3

没有列出此信息的 DMV。您必须发出 DISCOVER_XML_METADATA 请求并解析返回的 XMLA,该 XMLA 的格式与您编写对象定义脚本时得到的格式相似。

如果您不介意使用外部程序集,那么在http://asstoredprocedures.codeplex.com的程序集中有一个名为 DiscoverXmlMetadata 的函数可以执行此操作。

以下查询将返回数据库中所有分区的列表

调用 assp.DiscoverXmlMetadata("Partition")

于 2012-01-04T00:43:09.843 回答