[译]SSAS下玩转PowerShell(三)
在第一篇中简单介绍了PowerShell,包含基本的一些命令,以及如何打开PowerShell,并且导航到SSAS对象。第二篇中学习了如何使用变量根据当前日期创建SSAS备份,以及如何运行MDX和XMLA脚本。
原文地址:
在这一篇中,主要介绍以下几个话题:
- 使用PowerShell命令验证SSAS服务的状态
- 如果SSAS服务当掉自动发送消息
- 验证SSAS数据库的硬盘使用情况
- 每小时运行脚本验证数据库的状态
环境:
SQL Server 2008之后的版本。
开始:
1. 首先使用PowerShell获取Windows Services状态。
get-service
这个命令返回当前的Windows Services以及其状态:

2. 此篇中我们关注的是SSAS服务,所以命令将会如下所示:
get-service | select status, name | Where-Object {$_.Name -like "*MSSQLServerOLAP*"}

这条命令显示名称中包含"MSSQLServerOLAP"的服务名称以及服务状态,可以看到服务当前的状态是开启还是停止。
3. 接下来将实现如果服务停止,自动发送信息。
$servicestatus=get-service | select status,name | Where-Object {$_.Name -like "*MSSQLServerOLAP*"}
$Message="The SSAS Service is down"
if($servicestatus.status -eq "Stopped"){
echo $Message
}
这条命令如果监测到SSAS服务停止,将显示消息"The SSAS Service is down"。
4. 以下命令显示磁盘的剩余空间。
$driveinformation=gwmi win32_volume -Filter 'drivetype = 3' | select driveletter, label, @{LABEL='GBfreespace';EXPRESSION={$_.freespace/1GB} }

这条命令以GB为单位显示每个磁盘的剩余空间,当我们需要知道SSAS是否有足够的剩余空间的时候,这条命令很有用。
5. 为了验证SSAS下Cube的状态可以每五分钟发送一条MDX语句。在此篇我们将创建一条简单的MDX脚本然后以每小时的方式运行以此验证Cube是处于在线状态。
6. 打开SSMS。
7. 连接到SSAS服务并且浏览Adentureworks多维数据集。

8. 拖拽Internet Gross Profit到透视表区域,然后切换到MDX视图。

9. 自动生成的查询如下所示:
SELECT NON EMPTY { [Measures].[Internet Gross Profit] } ON COLUMNS FROM [Adventure Works] CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS

10. 保存脚本为Adventure.mdx文件。
11. 接下来使用PowerShell脚本来调用这条查询。如果没有结果或者一条没有处理的错误消息返回,自动返回连接错误的信息。
$result=Invoke-ASCmd -Database "Adventureworks" -InputFile:"c:\scripts\Adventure.mdx"
$Message="Adventureworks had a connection error"
if ((!$result) -or ($resultado -like "*either does not exist or has not been processed*")){$message}
12. 为了让PowerShell脚本周期的运行,在SSMS下创建一个作业:

13. 给作业取一个名字,然后创建一个新步骤。

14. 指定一个步骤名称,在Type下选择PowerShell然后在命令区粘贴第11步的脚本,然后点击OK。

然后选择Schedules页面,点击New按钮。

输入schedule信息,在这里我们设置为每小时运行来验证数据库的状态。

至此,一个每小时验证SSAS数据库状态的作业创建完成。希望大家喜欢这篇。
相关内容:
PowerShell创建自动化任务是一个不错的工具,更多信息请参考以下链接:
http://technet.microsoft.com/en-us/library/hh849804.aspx
http://technet.microsoft.com/en-us/library/ee177028.aspx
http://blogs.technet.com/b/flaphead/archive/2006/09/12/455555.aspx
在MSSQLTips.com上阅读更多关于PowerShell的内容。
http://www.mssqltips.com/sql-server-tip-category/81/powershell/
[译]SSAS下玩转PowerShell(三)的更多相关文章
- [译]SSAS下玩转PowerShell(二)
上一篇中简单的介绍了SSAS下的PowerShell,这一篇会演示更多的操作,比如根据当前时间创建备份,使用变量去指定处理哪一个分区,以及用XMLA脚本去创建分区,和在PowerShell中调用Pow ...
- [译]SSAS下玩转PowerShell
操作SSAS数据库的方法有很多,是否有一种可以方法可以通过脚本自动去做这些事呢,比如处理分区,创建备份以及监视SSAS的运行状况. 原文地址: http://www.mssqltips.com/sql ...
- SSAS下玩转PowerShell
操作SSAS数据库的方法有非常多,是否有一种能够方法能够通过脚本自己主动去做这些事呢,比方处理分区,创建备份以及监视SSAS的执行状况. 原文地址: http://www.mssqltips ...
- 此文记录了我从研二下学期到研三上学期的找工历程,包括百度、腾讯、网易、移动、电信、华为、中兴、IBM八家企业的面试总结和心得--转
感谢电子通讯工程的研究生学长为大家整理了这么全面的求职总结,希望进入通信公司和互联网公司做非技术类岗位的学弟学妹们千万不要错过哦~ ---------------------------原文分割线-- ...
- 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 ...
- CentOS下Docker与.netcore(三)之 三剑客之一Docker-Compose
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...
- PHP下的异步尝试三:协程的PHP版thunkify自动执行器
PHP下的异步尝试系列 如果你还不太了解PHP下的生成器和协程,你可以根据下面目录翻阅 PHP下的异步尝试一:初识生成器 PHP下的异步尝试二:初识协程 PHP下的异步尝试三:协程的PHP版thunk ...
- Windows 下如何调试 PowerShell
背景 最近在用 PowerShell 的时候,发现一些地方特别有意思.于是就萌生了看源代码的想法,单看肯定不过瘾,调试起来才有意思.于是就有了这个,记录下. 调试 PowerShell 主要分为两种方 ...
随机推荐
- 红米3 TWRP-3.0.2(android_6.0.1_r72分支)中文版Recovery更新于20161018
TWRP3.0.2更新简介 TWRP是TeamWin团队https://github.com/TeamWin/Team-Win-Recovery-Project的开源项目,也是Omnirom系统默认的 ...
- Python学习笔记 之 递归、二维数组顺时针旋转90°、正则表达式
递归.二维数组顺时针旋转90°.正则表达式 1. 递归算法是一种直接或间接调用自身算法的过程. 特点: 递归就是在过程或函数里调用自身 明确的递归结束条件,即递归出口 简洁,但是不提倡 递归次数多 ...
- [转]eclipse重新编译
Eclipse打开时并不重新生成class文件,这就造成了eclipse找不到需要的class文件从而不能正常编译工程中的其他代码.此时就需要重新编译工程. 单击Project菜单,选择Clean菜单 ...
- 【原】理解javascript中的闭包
闭包在javascript来说是比较重要的概念,平时工作中也是用的比较多的一项技术.下来对其进行一个小小的总结 什么是闭包? 官方说法: 闭包是指有权访问另一个函数作用域中的变量的函数.创建闭包的常见 ...
- input file控件限制上传文件类型
网页上添加一个input file HTML控件: <input id="File1" type="file" /> 默认是这样的,所有文件类型都会 ...
- C#中精确计时的一点收获 【转】
C#中精确计时的一点收获 [转] 以下所有代码运行环境:Windows 2003, Intel(R) Core(TM) 2 Duo CPU E8400 @ 3.00GHz 2.99GHz,2.96G ...
- [UML]UML系列——用例图Use Case
用例图的概念 用例图是描述用例.参与者以及它们之间关系的图. 用例图的作用 用例图是从用户的角度来描述对信息系统的需求,分析产品的功能和行为. 用例图定义和描述了系统的外部可见行为,是分析.设计直至组 ...
- 以空白符结尾的 alias
网上经常有人问这个问题:为什么我写的 alias 在 sudo 下就不管用了? $ alias 'll=ls -l' $ sudo ll a-private-dir sudo: ll: command ...
- DataTable数据检索的性能分析(转寒江独钓)
我们知道在.NET平台上有很多种数据存储,检索解决方案-ADO.NET Entity Framework,ASP.NET Dynamic Data,XML, NHibernate,LINQ to SQ ...
- [Linux & SVN] SVN介绍及Linux下SVN命令收录
1. SVN是什么? SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移 ...