第一篇中简单介绍了PowerShell,包含基本的一些命令,以及如何打开PowerShell,并且导航到SSAS对象。第二篇中学习了如何使用变量根据当前日期创建SSAS备份,以及如何运行MDX和XMLA脚本。

原文地址:

http://www.mssqltips.com/sqlservertip/2980/using-powershell-for-ssas-to-check-service-status-and-database-availability/

在这一篇中,主要介绍以下几个话题:

- 使用PowerShell命令验证SSAS服务的状态

- 如果SSAS服务当掉自动发送消息

- 验证SSAS数据库的硬盘使用情况

- 每小时运行脚本验证数据库的状态

环境:

Adventureworks微软示例项目。

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/

最新文章

  1. Markdown简介以及常用语法
  2. PHP之:序列化和反序列化-serialize()和unserialize()
  3. 常用COBOL函数
  4. 【BZOJ】1018: [SHOI2008]堵塞的交通traffic
  5. Python循环嵌套
  6. mac下SSH很快被断开
  7. js+css实现模态层效果
  8. NET Core 的 Views
  9. PHP截取中文字符串方法总结
  10. iOS UITabBar
  11. 前端数据存储方案集合(cookie localStorage等)以及详解 (二)
  12. E - 钱币兑换问题
  13. SQL server2005学习笔记(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法
  14. 怎么获取smtp服务器用户帐号和密码
  15. 利用IDM工具下载ESA上的Sentinel数据
  16. 转 Refresh Excel Pivot Tables Automatically Using SSIS Script Task
  17. Encrypt2
  18. 注入攻击(SQL注入)
  19. 逗号分隔的字符串与List互转
  20. blfs(systemv版本)学习笔记-编译安装i3-wm平铺式窗口管理器

热门文章

  1. jeecg小吐槽续——自己折腾修改在线开发功能中“默认值”的使用
  2. c#线程间操作UI-Invoke和BeginInvoke
  3. “is null”与“=”的使用
  4. Windows 新装进阶操作指南
  5. a版本冲刺第二天
  6. Jsoup提取文本时保留标签
  7. 关于LuCi
  8. 《Python核心编程》 18.多线程编程(一)
  9. 使用 Eclipse 调试 Java 程序的 10 个技巧
  10. 网页特效:用CSS3制作3D图片立方体旋转特效