发现分区名称 SSAS

发布于 2024-12-05 16:31:48 字数 68 浏览 2 评论 0原文

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

谢谢

Is there a way I can dynamically discover if a partition with a specific name already exists in my cube using DMV or XMLA?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蒲公英的约定 2024-12-12 16:31:48

如果您想要一个可以通过 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

If you want a DMV that you can query via MDX you can use the $System.DISCOVER_OBJECT_ACTIVITY schema and then filter it down based on the OBJECT_PARENT_PATH which will be something like:

SELECT OBJECT_ID
FROM $System.DISCOVER_OBJECT_ACTIVITY
[Server].Databases.[DatabaseID].Cubes.[CubeID].Measure Groups.[MeasureID].Partitions
眼角的笑意。 2024-12-12 16:31:48

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

如果您不介意使用外部程序集,则程序集中有一个函数 http://assstoredprocedures.codeplex.com 称为 DiscoverXmlMetadata 可以做到这一点。

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

调用 assp.DiscoverXmlMetadata("Partition")

There is no DMV that lists this information. You would have to issue a DISCOVER_XML_METADATA request and parse through the returned XMLA which will be in a similar format to what you get when you script an object definition.

If you don't mind using an external assembly there is a function in the assembly at http://asstoredprocedures.codeplex.com called DiscoverXmlMetadata which can do this.

The following query will return a list of all the partitions in the database

call assp.DiscoverXmlMetadata("Partition")

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文