使用powershell 处理 Analysis Services 对象
加载Analysis Services 提供程序和Cmdlet
在powershell 中运行 Import-Module “SQLPS”,如果不想显示黄色的警告信息则运行 Import-Module “SQLPS” -disablenamechecking
注意红色框框运行这个已经进入sql server 的Module
可以通过命令查询到Analysis Services里面的常用对象,具体的这个Module里面提供了多少操作命令呢?
每一个命令的具体帮助在下面的表格里面,来自于微软哦,可信度相当的高。
Cmdlet |
说明 |
等效的 AMO 方法 |
---|---|---|
Add-RoleMember cmdlet |
向数据库角色添加成员 |
Add |
Backup-ASDatabase cmdlet |
备份 Analysis Services 数据库 |
Backup |
Invoke-ASCmd cmdlet |
执行查询 |
Execute |
Invoke-ProcessCube cmdlet |
处理多维数据集 |
Process |
Invoke-ProcessDimension cmdlet |
处理维度 |
Process |
Invoke-ProcessPartition cmdlet |
处理分区 |
Process |
Merge-Partition cmdlet |
合并分区 |
Merge |
New-RestoreFolder cmdlet |
创建文件夹以便包含数据库备份。 |
RestoreFolder |
New-RestoreLocation cmdlet |
指定将数据库还原到其上的一个或多个远程服务器。 |
RestoreLocation |
Remove-RoleMember cmdlet |
从数据库角色中删除成员。 |
Remove |
Restore-ASDatabase cmdlet |
还原服务器实例上的数据库。 |
Restore |
如果我不想进入SQLPS这个Module里面直接在Powershell里面处理Analysis services里面的对象,就需要加载SQLASCmdlets 模块
注意和上面的红框做对比。
我们可以在这里直接处理数据库中的纬度
Invoke-ProcessDimension -Name "WDBrowser" -Database "SquidASAV10" -ProcessType "ProcessUpdate" -Server "."
注意这个-server 的参数,文档中解释:如果没有,默认是连接本地的Analysis Services,但是实际上有时候默认的并不是那么完美,会遇到下面的错误
所以,还是加上一个“.”比较好
最后在列一下处理ProcessType这个参数,这个是处理Analysis Services对象的一个重要参数,大到处理数据库,小到处理一个分区的数据都需要用到
还是来自于微软官方的解释:
模式 |
适用于 |
说明 |
---|---|---|
处理默认值 ProcessDefault |
多维数据集、数据库、维度、度量值组、挖掘模型、挖掘结构和分区。 |
检测数据库对象的处理状态,进行必要的处理,将未处理对象或部分处理的对象转变成为已完全处理的对象。 如果更改数据绑定,“处理默认值”将对受影响的对象执行“处理全部”。 |
处理全部 ProcessFull |
多维数据集、数据库、维度、度量值组、挖掘模型、挖掘结构和分区。 |
处理 Analysis Services 对象及其包含的所有对象。 对已被处理的对象执行“处理全部”时,Analysis Services 将删除该对象中的所有数据,然后再处理该对象。 如果对对象进行了结构更改(例如,添加、删除或 重命名属性层次结构),则需要此类处理。 |
处理清除 ProcessClear |
多维数据集、数据库、维度、度量值组、挖掘模型、挖掘结构和分区。 |
删除指定对象和任何低级构成对象中的数据。 该数据被删除后将不会被重新加载。 |
处理数据 ProcessData |
维度、多维数据集、度量值组和分区。 |
只处理数据,而不生成聚合或索引。 如果分区中存在数据,则在使用源数据重新填充该分区之前, 该数据被删除。 |
处理添加 ProcessAdd |
维度、度量值组和分区 |
对于维度,添加新成员并更新维度属性标题和说明。 对于度量值组和分区,添加新的可用事实数据并只处理相关分区。 |
处理更新 ProcessUpdate |
维度 |
强制重新读取数据并更新维度属性。 相关分区的灵活聚合和索引将被删除。 |
处理索引 ProcessIndexes |
多维数据集、维度、度量值组和分区 |
为所有已处理的分区创建或重新生成索引和聚合。 对于未处理的对象,此选项会生成错误。 如果关闭“迟缓处理”,则需要使用此选项进行处理。 |
处理结构 ProcessStructure |
多维数据集和挖掘结构 |
如果未处理多维数据集,则 Analysis Services 将在必要时处理该多维数据集的所有维度。 然后, Analysis Services 将只创建多维数据集定义。 如果将该选项应用于挖掘结构,它将使用源数据填充挖掘结构。 该选项与“处理全部”选项之间的差别在于该选项不会将处理向下遍历至挖掘模型本身。 |
处理清除结构 ProcessClearStructureOnly |
挖掘结构 |
从挖掘结构中删除所有定型数据。 |