[译]SSAS下玩转PowerShell(三)

时间:2021-09-22 04:03:58

第一篇中简单介绍了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以及其状态:

[译]SSAS下玩转PowerShell(三)

2. 此篇中我们关注的是SSAS服务,所以命令将会如下所示:

get-service | select status, name | Where-Object {$_.Name -like "*MSSQLServerOLAP*"}

[译]SSAS下玩转PowerShell(三)

这条命令显示名称中包含"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} }

[译]SSAS下玩转PowerShell(三)

这条命令以GB为单位显示每个磁盘的剩余空间,当我们需要知道SSAS是否有足够的剩余空间的时候,这条命令很有用。

5. 为了验证SSAS下Cube的状态可以每五分钟发送一条MDX语句。在此篇我们将创建一条简单的MDX脚本然后以每小时的方式运行以此验证Cube是处于在线状态。

6. 打开SSMS。

7. 连接到SSAS服务并且浏览Adentureworks多维数据集。

[译]SSAS下玩转PowerShell(三)

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

[译]SSAS下玩转PowerShell(三)

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

[译]SSAS下玩转PowerShell(三)

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下创建一个作业:

[译]SSAS下玩转PowerShell(三)

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

[译]SSAS下玩转PowerShell(三)

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

[译]SSAS下玩转PowerShell(三)

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

[译]SSAS下玩转PowerShell(三)

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

[译]SSAS下玩转PowerShell(三)

至此,一个每小时验证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(三)的更多相关文章

  1. [译]SSAS下玩转PowerShell(二)

    上一篇中简单的介绍了SSAS下的PowerShell,这一篇会演示更多的操作,比如根据当前时间创建备份,使用变量去指定处理哪一个分区,以及用XMLA脚本去创建分区,和在PowerShell中调用Pow ...

  2. [译]SSAS下玩转PowerShell

    操作SSAS数据库的方法有很多,是否有一种可以方法可以通过脚本自动去做这些事呢,比如处理分区,创建备份以及监视SSAS的运行状况. 原文地址: http://www.mssqltips.com/sql ...

  3. SSAS下玩转PowerShell

     操作SSAS数据库的方法有非常多,是否有一种能够方法能够通过脚本自己主动去做这些事呢,比方处理分区,创建备份以及监视SSAS的执行状况.   原文地址: http://www.mssqltips ...

  4. 此文记录了我从研二下学期到研三上学期的找工历程,包括百度、腾讯、网易、移动、电信、华为、中兴、IBM八家企业的面试总结和心得--转

    感谢电子通讯工程的研究生学长为大家整理了这么全面的求职总结,希望进入通信公司和互联网公司做非技术类岗位的学弟学妹们千万不要错过哦~ ---------------------------原文分割线-- ...

  5. Linux下玩转Dota2

    Dota2是一款颇为风靡的即时战略类游戏,去年官方就支持Mac和Linux了,对于习惯Mac和linux平台的孩子们来说,简直感动的泪流满面. 当然,也简直是linux程序猿的福音啊啊! 与Win8. ...

  6. cento7.3下玩转sphinx

    cento7.5下玩转sphinx 1 安装依赖文件 yum install postgresql-libs unixODBC 2 下载 wget http://sphinxsearch.com/fi ...

  7. CentOS下Docker与.netcore(三)之 三剑客之一Docker-Compose

    CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.netcore(二) 之 Dockerfile CentOS下Docker与.netcore(三)之 三剑客 ...

  8. PHP下的异步尝试三:协程的PHP版thunkify自动执行器

    PHP下的异步尝试系列 如果你还不太了解PHP下的生成器和协程,你可以根据下面目录翻阅 PHP下的异步尝试一:初识生成器 PHP下的异步尝试二:初识协程 PHP下的异步尝试三:协程的PHP版thunk ...

  9. SQL Server调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行)

    前言 本篇继续玩转模块的内容,关于索引在SQL Server的位置无须多言,本篇将分析如何利用Hint引导语句充分利用索引进行运行,同样,还是希望扎实掌握前面一系列的内容,才进入本模块的内容分析. 闲 ...

随机推荐

  1. 【C#】ConcurrentBag<T> 方法

    转载自MSDN. ConcurrentBag<T> 类型公开以下成员. 方法     显示: 继承 保护   名称 说明 Add 将对象添加到 ConcurrentBag<T> ...

  2. 使用命令行备份指定文件夹并保留最新N份

    客户需要对网站进行定期备份,并保留最近30天的文件,编写后以下脚本,通过Windows的任务计划进行调度 对比手工和任务计划调度运行情况来看,手工运行中可直接调用RAR.exe和网络进行传输,但是任务 ...

  3. Luogu P2802 回家

    题目描述 小H在一个划分成了n*m个方格的长方形*线上. 每次他能向上下左右四个方向移动一格(当然小H不可以静止不动), 但不能离开*线,否则就被打死了. 刚开始时他有满血6点,每移动一格他要消耗 ...

  4. JAVAscript学习笔记 js异常 第二节 (原创) 参考js使用表

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. python 执行sql得到字典格式数据

    本文在提供一种方式,实现执行sql语句 返回字典结果集 # 连接数据库,数据库的,这里使用的setting中的默认设置,在这里不做具体的介绍,不懂的可以百度一下 conn = MySQLdb.conn ...

  6. 第二个Sprint冲刺第三天(燃尽图)

  7. Google Chrome Resize Plugin

    https://chrome.google.com/webstore/detail/window-resizer/kkelicaakdanhinjdeammmilcgefonfh

  8. Shell输入输出重定向

    全部可用的重定向命令列表 命令 说明 command > file 将输出重定向到 file. command < file 将输入重定向到 file. command >> ...

  9. python学习笔记4-内置函数、匿名函数、json处理

    print(all([1,2,3,4]))#判断可迭代的对象里面的值是否都为真 print(any([0,1,2,3,4]))#判断可迭代的对象里面的值是否有一个为真 print(bin(10))#十 ...

  10. ArrayDeque

    ArrayDeque是一个基于数组的,非线程安全的,没有容量大小限制的双端队列实现 下面这张图就是添加了一些元素的数据结构图,其中head指向数据结构中的头部元素,tail指向数据结构中最后一个元素. ...