SSAS下玩转PowerShell(三)
来源:互联网 发布:思途旅游cms破解版 编辑:程序博客网 时间:2024/04/29 22:49
在第一篇中简单介绍了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/
- SSAS下玩转PowerShell(三)
- SSAS下玩转PowerShell(二)
- [译]SSAS下玩转PowerShell(二)
- SSAS下玩转PowerShell
- 初探PowerShell OneGet(三)
- SSAS : 使用.NET为SSAS编写自定义程序集(三)
- PowerShell文件系统(三)导航文件系统
- Powershell快速入门(三) 实战应用
- SSAS
- SSAS
- SSAS
- BI商业智能培训系列——(三)SSAS入门
- SQL2008 SSAS学习笔记三:Cube
- PowerShell笔记(三):调用MS SQL数据库
- PowerShell 2.0 实践(三)操作Windows服务
- 使用 Office 365 PowerShell 管理用户帐户和许可证(三)使用 Office 365 PowerShell 向用户帐户分配许可证
- SSAS : 商务智能门户(预览)
- SSAS(分析服务)优化手册
- 快速排序 归并排序 堆排序 希尔排序
- C语言中volatile关键字的作用
- java经典编程题(1-3)
- Memory Management Policy
- JS代码延时执行
- SSAS下玩转PowerShell(三)
- 深入Java集合学习系列一:ArrayList的实现原理
- 二分图 最大匹配
- poj 3694
- poj 3009 ( Curling 2.0 深搜 搜直线)
- static关键字
- dynamic programming: coin change problem(换零钱) 变体一:
- C语言结构体总结
- 类型运算问题(面试细节)