SSAS下玩转PowerShell
操作SSAS数据库的方法有非常多,是否有一种能够方法能够通过脚本自己主动去做这些事呢,比方处理分区,创建备份以及监视SSAS的执行状况。
原文地址:
PowerShell作为命令行工具来自己主动化处理SSAS任务就是一个不错的选择。由于是环绕SSAS处理任务的话题。所以阅读此篇须要具备一些SSAS的基础知识,这里我们使用SQL Server 2012。
此篇将介绍例如以下内容:
- 启动PowerShell
- 通过PowerShell导航而且查看SSAS对象
- 通过PowerShell执行些基础指令
- 处理SSAS的一个分区
本文使用SQL Server 2012的Adventureworks演示样例数据库,有能够在这里下载到这个演示样例库:
http://msftdbprodsamples.codeplex.com/releases/view/55330
開始
- 在開始菜单下,点击Run选项。或者Windows键+r。

- 在执行窗口中输入sqlps启动SQL Server下的PowerShell。

- 输入GCI命令查看PowerShell下的对象列表。

GCI命令的含义是获取全部子对象,跟DOS时代下的dir命令非常像,所以这里你也能够相同能够使用LS或者DIR获取相同的结果。从结果中能够看到,SQL Server PowerShell能够让你自己主动以自己主动化的方式去处理SQL Server数据引擎的任务。策略,数据集,SQL Server集成服务任务以及SQL Server分析服务任务。
此篇我们将集中SSAS任务。
- 使用例如以下命令进入到分析服务文件夹中。
CD sqlas
这里的CD命令跟DOS下的相同。
- 关于GCI的更过信息。能够输入例如以下命令获取帮助:
get-help gci –detailed

分区操作
SSAS多维数据库下包括Cubes立方体,Cubes下又包括度量值以及度量值分区。
下图展示了其层次结构。

接下来使用CD命令移动到分区文件夹下。
cd servername\DEFAULT\databases\AdventureWorksDW2012Multidimensional-EE\cubes\Adventure Works\MeasureGroups\Internet Orders\Partitions
- Servername就是Windows Server的名称。
- Default是SSAS服务实例的名称。
- AdventureWorksDW2012Multidimensional-EE是数据库名称。
- AdventureWork是立方体名称。
- Internet Orders是度量值组名称。
- 最后我们就能够获取到其下的分区信息。当一个分析服务数据库太大的时候我们会考虑将其拆分成不同的分区:

使用分区对数据进行拆分。能够通过并行的方法提高处理的速度,而且对于相关的查询性能也会有提高。
接下来通过GCI命令列出全部的分区信息.

我们能够看到分区名称,预计行数以及处理的模式。在Adventureworks立方体中分区是依照年来进行拆分的。
每一个分区的行数默认是没有被计算的所以看到的是0。
处理模式是分区的处理方式,Regular模式意味着数据和聚合都会被处理。第二种Lazy聚合意味着数据首先会被处理,聚合在随后的后台进程创建。这个设置对数据以及减少索引创建是非常有帮助的,由于索引的创建会有额外的性能开销。
能够通过Get-member的方法获取分区下的全部成员。
LS | Get-Member

Get-Member命令用于列出一个对象支持的属性和方法。
在这里就是列出分区下所支持的属性和方法。
比方能够看到分区名。LastProcessed时间以及分区的EstimatedSize:
LS| SELECT NAME, LASTPROCESSED, ESTIMATEDSIZE

假设要处理一个指定的分区那么就能够使用以下的命令:
Invoke-ProcessPartition -Name "Internet_Orders_2006" -MeasureGroupname "Internet Orders" -CubeName "Adventure Works" -database "AdventureWorksDW2012Multidimensional-EE" -ProcessType "ProcessFull"
这个命令会处理Adventureworks下Internet Orders度量值组名为"Internet_Order_2006"的分区,而且是以全量的方式来处理。

在SQL Server 2012 SP1的这个版本号,当我们执行完这个命令然后再执行"LS|SELECT NAME, LASTPROCESSED, ESTIMATEDSIZE"。默认信息是没有更新的。
须要把PowerShell关闭掉然后再又一次打开再执行这个命令才干够看到更新后的信息。
备份SSAS数据库
执行以下的命令能够实现Adventureworks的备份:
backup-asdatabase d:\awdb-20110930.abf "AdventureWorksDW2012Multidimensional-EE" -AllowOverwrite –ApplyCompression
这个命令会备份AdventureWorksDW2012Multidimensional-EE数据库,备份文件名称为awdb-20110930.abf。而且存储在d盘根文件夹下。这个命令相同也会覆盖已经存在的同名备份文件。

此篇演示了怎样启动PowerShell。怎样显示对象下的属性,怎样处理一个分区以及最后怎样备份一个数据库。
下一篇会介绍PowerShell在SSAS下的很多其它操作。
译注:
SSAS的对象的层次结构比較复杂。详细该怎样进行导航或者在某些对象下能做什么,须要对SSAS数据库的基本结构有一个了解。
PowerShell操作SSAS的方式也是通过AMO的方式。方便通过基于.net的方式来进行操作。
SSAS下玩转PowerShell的更多相关文章
- [译]SSAS下玩转PowerShell(三)
在第一篇中简单介绍了PowerShell,包含基本的一些命令,以及如何打开PowerShell,并且导航到SSAS对象.第二篇中学习了如何使用变量根据当前日期创建SSAS备份,以及如何运行MDX和XM ...
- [译]SSAS下玩转PowerShell(二)
上一篇中简单的介绍了SSAS下的PowerShell,这一篇会演示更多的操作,比如根据当前时间创建备份,使用变量去指定处理哪一个分区,以及用XMLA脚本去创建分区,和在PowerShell中调用Pow ...
- [译]SSAS下玩转PowerShell
操作SSAS数据库的方法有很多,是否有一种可以方法可以通过脚本自动去做这些事呢,比如处理分区,创建备份以及监视SSAS的运行状况. 原文地址: http://www.mssqltips.com/sql ...
- Linux下玩转Dota2
Dota2是一款颇为风靡的即时战略类游戏,去年官方就支持Mac和Linux了,对于习惯Mac和linux平台的孩子们来说,简直感动的泪流满面. 当然,也简直是linux程序猿的福音啊啊! 与Win8. ...
- cento7.3下玩转sphinx
cento7.5下玩转sphinx 1 安装依赖文件 yum install postgresql-libs unixODBC 2 下载 wget http://sphinxsearch.com/fi ...
- Windows 下如何调试 PowerShell
背景 最近在用 PowerShell 的时候,发现一些地方特别有意思.于是就萌生了看源代码的想法,单看肯定不过瘾,调试起来才有意思.于是就有了这个,记录下. 调试 PowerShell 主要分为两种方 ...
- 玩转PowerShell第一节——【后台任务处理】-技术&分享
概述 相信大家对后台任务处理不陌生,比如.Net的后台线程处理,Java的线程处理等等. 而当我们用PowerShell这个强大的工具时怎么样开启后台任务呢,以及怎样处理这些任务呢,本篇将会告诉你Po ...
- linux下一键安装 powershell,的bash脚本
说明 目前,linux下的powershell约等于pash.希望大家专注mono,关注pash. 一键安装脚本包括for centos6,centos7,ubuntu 14.04 ubuntu 1 ...
- 【Howie玩docker】-windows下玩docker
Windows下安装toolbox一直没成功,于是投机取巧,用虚拟机手工打造玩docker的方法. 步骤: 安装虚拟机,安装centos 在win下建立共享文件夹,假如是 f:/share 在cent ...
随机推荐
- 20 go单元测试
单元测试 Go本身提供了一套轻量级的测试框架.符合规则的测试代码会在运行测试时被自动识别并执行.单元测试源文件的命名规则如下: 必须是以_test.go结尾的文件,比如manager_test.go ...
- mysql 第二高薪水
编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | ...
- 一个手写的 http client
public class HTTPClient { public static final String GET = "GET"; public static final Stri ...
- [原]openstack-kilo--issue(十八) Error parsing template file: Template format version not found.
在创建stack的时候出现的报错: ]# heat stack-create nems_demo -e AAA.yaml -f AAA.parameter.yaml Error parsing tem ...
- python3 日志检索异常抛出异常 raise KeyError(key),KeyError: 'formatters'
原因分析,python3启动时,检索的不是项目包下的目录文件,所以日志文件必须指明路径.我原来的日志方式是: import logging.config log_path = "mlpcap ...
- HTTP 响应状态码
MDN https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status section 10 of RFC 2616 https://tools.ie ...
- maven安装与创建多模块项目
最新版已同步至 http://yywang.info/2014/05/31/maven-install-and-create-project/ maven是一个比较流行的项目管理工具,在最近参与的项目 ...
- 【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第一周测验【中英】
[吴恩达课后测验]Course 1 - 神经网络和深度学习 - 第一周测验[中英] 第一周测验 - 深度学习简介 和“AI是新电力”相类似的说法是什么? [ ]AI为我们的家庭和办公室的个人设备供电 ...
- AppSettings操作类
using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using ...
- MSSQL SQL Server代理 作业 设置(调用存储过程)
1.新建作业名 “生成分区文件及文件组“ 2.新建 步骤 名 “CreatePartTable” 步骤名:CreatePartTable 类型:Transact-SQL 脚本(T-SQL) 数据库 ...