我一直在尝试创建一个脚本来创建一个在过去24小时内没有处理过的SSAS多维数据集列表,但我没有太多运气。我有一个查询,它将给我一个特定多维数据集的处理时间,但它只适用于选择查询的特定数据库。我需要它为SSAS服务器上的所有数据库列出此信息。
我正在使用的查询是:
WITH MEMBER [Measures].[LastProcessed] AS ASSP.GetCubeLastProcessedDate()
SELECT [Measures].[LastProcessed] ON 0 FROM $Database"
任何想法都将不胜感激。如果只使用T-SQL或MDX而不是Powershell,那也没问题,但是我无法在SQL中找到一个命令来提取所有的多维数据集名称。
此外,如果有帮助,这将在Microsoft SQL Server 2012上运行。
答案 0 :(得分:0)
试试这个脚本:
USE $Database;
GO
WITH MEMBER [Measures].[LastProcessed] AS ASSP.GetCubeLastProcessedDate()
SELECT [Measures].[LastProcessed] ON 0 FROM $Database"
如果您使用-Database选项运行Invoke-SqlCmd cmdlet,则查询将连接到指定的数据库。 USE $Database
语句应强制连接在执行之前切换到相应的数据库上下文。