使用Powershell创建SSAS 2008多维数据集分区?

问题描述:

我们如何使用Powershell创建SSAS 2008多维数据集分区?使用Powershell创建SSAS 2008多维数据集分区?

看看这个:PowerSSAS

它没有明确的加分支持,所以你可能必须制作一个XMLA片段做加法分区,然后使用PowerSSAS将其推到SSAS服务器。

+1

PowerSSAS可以做到这一点,而无需制作XMLA。您只需要获取对度量值组的引用,然后调用分区集合的Add方法。 – 2012-01-05 03:48:03

这增加了分区探险工程DW 2008R2立方体(特别是在冒险互联网客户测量组作品立方体):

$server_name = "localhost" 
$catalog = "Adventure Works DW 2008R2" 
$cube = "Adventure Works" 
$measure_group = "Fact Internet Sales" 
$old_partition = "Customers_2004" 
$new_partition = "Customers_2009" 
$old_text = "'2008" 
$new_text = "'2009" 

[Reflection.Assembly]::LoadFile("C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies\Microsoft.AnalysisServices.DLL") 
$srv = new-object Microsoft.AnalysisServices.Server 
$srv.Connect("Data Source=" + $server_name) 
$new_part = $srv.Databases[$catalog].Cubes[$cube].MeasureGroups[$measure_group].Partitions[$old_partition].Clone() 
$new_part.ID = $new_partition 
$new_part.Name = $new_partition 
$new_part.Source.QueryDefinition = $new_part.Source.QueryDefinition.Replace($old_text, $new_text) 
$srv.Databases[$catalog].Cubes[$cube].MeasureGroups[$measure_group].Partitions.Add($new_part) 
$srv.Databases[$catalog].Cubes[$cube].MeasureGroups[$measure_group].Partitions[$new_partition].Update() 
$srv.Databases[$catalog].Update() 
$srv.Disconnect() 

你必须改变的变量向上顶,并参考Microsoft.AnalysisServices.dll大会,但除此之外,这将工作桃色敏锐。

诀窍是调用Update()上的对象改变,然后在整个数据库本身。

如果你想处理新的分区,以及,你可以做到这一点下面的行前$srv.Disconnect

$srv.Databases[$catalog].Cubes[$cube].MeasureGroups[$measure_group].Partitions[$new_partition].Process() 

您可以了解更多有关分析管理对象(AMO)here

你可以使用:

Microsoft.AnalysisServices.Deployment [ASdatabasefile] 
{[/s[:logfile]] | [/a] | [[/o[:output_script_file]] [/d]]} 

部署您的多维数据集作为使用PowerShell。

+0

不回答这个问题。 – 2015-02-16 03:12:35