SSAS下玩转PowerShell(二)
上一篇中简单的介绍了SSAS下的PowerShell,这一篇会演示更多的操作,比如根据当前时间创建备份,使用变量去指定处理哪一个分区,以及用XMLA脚本去创建分区,和在PowerShell中调用PowerShell脚本。 原文地址: http://www.mssqltips.com/sqlservertip/2939/au
上一篇中简单的介绍了SSAS下的PowerShell,这一篇会演示更多的操作,比如根据当前时间创建备份,使用变量去指定处理哪一个分区,以及用XMLA脚本去创建分区,和在PowerShell中调用PowerShell脚本。
原文地址:
http://www.mssqltips.com/sqlservertip/2939/automate-sql-server-analysis-services-tasks-with-powershell--part-2/?utm_source=dailynewsletter&utm_medium=email&utm_content=headline&utm_campaign=20140328
在SSAS下使用PowerShell变量
首先来看下面的代码:$mydate="ssas powershell"
这里我们创建了一个名字为$mydate的变量,$前缀表名这是一个变量,然后给这个变量赋一个值"ssas powershell"。
如果需要显示变量$mydte的值只需要把变量的名字敲出来然后按ENTER。$mydate
$mydate=Get-Date
通过Get-Date方法获取到当前日期,并且将其赋给$mydate变量。PowerShell是不需要为变量指定类型的:
$mydate=Get-Date –format yyyyddMM
MM在这里是大写主要是为了跟分钟的小写mm区分开。
验证下格式:$mydate
这样我们就获取到了一个格式为yyyyddMM的保存有当前日期的变量。
接下来需要做的就是根据这个当前时间来创建备份。backup-asdatabase d:\awdb-$mydate.abf "AdventureWorksDW2012Multidimensional-EE" -AllowOverwrite –ApplyCompression
这样一个待用当前时间编辑的文件名备份就被创建在了d盘上。同样在上面的这个命令中,指派了数据库的名称,允许覆盖标记以及是否启用压缩。
使用PowerShell处理SSAS的一个分区
跟上一篇的不同,这里我们用一个变量名引入到命令中,来实现动态的分区处理。
首先我们来关注下SSAS的分区,查看下图,我们可以看到SSAS数据库的层级极结构:$myyear=2008
Invoke-ProcessPartition -Name "Internet_Orders_"+$myyear -MeasureGroupname "Internet Orders" -CubeName "Adventure Works" -database "AdventureWorksDW2012Multidimensional-EE" -ProcessType "ProcessFull"
在上面的命令中,变量"Internet_Orders_$myyear"对应的就是分区名"Internet_Orders_2008"。度量值组是"Internet Orders",CubeName是"Adventure Works"。
通过PowerShell调用XMLA脚本
XMLA最主要的一个用途就是创建和处理SSAS对象。在这个示例中我们生成一个脚本来创建分区,然后在PowerShell里执行它。首先,创建一个生成分区"Internet_Orders_2008"的脚本。[译注]:原文这里没有提到,就是下面的QueryDefinition对应的那段SQL代码也是需要修改的,所以实际项目中,需要根据实际情况,Name和QueryDefinition都需要修改,这里的修改跟UI界面中的都能对应的上,所以这里不做详细介绍。
将这段脚本保存下来,比如:d:\powershell2\createPartition.xmla目录,然后用PowerShell的Invoke-ASCMD命令运行这个脚本。Invoke-ASCmd -InputFile:"d:\powershell2\createPartition.xmla"
Invoke-ASCMD命令用于在PowerShell中运行SSAS命令,比如XMLA脚本,应用立方体的MDX脚本以及应用数据挖掘的DMX脚本。如果此时在SSMS中刷新一下SSAS实例,可以看到新创建的分区。
在PowerShell中运行MDX查询
首先生成一段MDX查询,在SSMS中浏览Adventure Works立方体。Invoke-ASCmd -Database "AdventureWorksDW2012Multidimensional-EE" -InputFile:"d:\powershell2\mymdx.mdx"| Out-file d:\Results\XMLAQueryOutput.xml
这里我们所做的就是在AdventureWorksDW2012Multidimensional数据库中运行这个MDX查询,查询结果以XML的方式显示在文件XMLAQueryOutput.xml中。
查询的结果可以在XML文件中找到。[译注]
原文介绍的都是很简单的操作,但是对于自动化任务来说还是很方便的,不如动态创建分区,动态处理分区等等,变量的引入可以加入更多的程序流程在里面,从而实现更复杂的功能。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

什麼是 ISO 檔? ISO 檔案是一種包含光碟(例如 DVD 或 CD)的精確副本的檔案。這種類型的光碟映像可以安裝在您的電腦上,看起來就像您的電腦上連接了一個光碟機,光碟中插入了包含資料的 CD 或 DVD。 ISO 檔案也可用於刻錄建立它們的 DVD 或 CD 的新副本,或只是將大量檔案包含在一個易於下載的單一檔案中。 ISO 檔案通常相當大;用完它們後,您很可能會想將它

硬碟序號是硬碟的一個重要標識,通常用於唯一標識硬碟以及進行硬體識別。在某些情況下,我們可能需要查詢硬碟序號,例如在安裝作業系統、尋找正確裝置驅動程式或進行硬碟維修等情況下。本文將介紹一些簡單的方法,幫助大家查詢硬碟序號。方法一:使用Windows命令提示字元開啟命令提示字元。在Windows系統中,按下Win+R鍵,輸入"cmd"並按下回車鍵即可開啟命

初始PowerShell,首先我們先來了解概念:PowerShell可以當做是cmd(bat腳本語言)的升級版,它是Windows平台上的腳本語言。是面向對象,是和.NetFrameWork密切相關的。也可以認為是Windows上的bashshell。 WindowsPowerShell是一種命令列外殼程式和腳本環境,可讓命令列使用者和腳本編寫者利用.NETFramework的強大功能。它引入了許多非常有用的新概念,從而進一步擴展了您在Windows命令提示字元和WindowsHost環境中獲得

許多用戶報告了WindowsPowerShell停止工作或根本無法打開的問題。看到PowerShell已停止工作訊息的最常見原因之一是您的電腦上存在隱藏病毒。這反過來會減慢您的系統速度,並且系統上的其他進程將停止運行。該錯誤訊息未提供有關此問題原因的任何信息,因此難以解決。如果您對PowerShell無法在您的PC上執行或開啟問題感到惱火,那麼本文適合您。在本文中,我們討論了一些可用於修復此錯誤的解決方案。修復1–停用和重新啟用WindowsPowerShell1.使用Ctr

如何使用PowerShell在Windows11上啟用或停用管理員帳戶在Windows11上啟用管理員帳戶的最快方法之一是使用PowerShell。您也可以使用較新的Windows終端,或者,如果您願意,也可以使用較舊的命令提示字元(cmd)工具。您需要確保從已經具有管理員權限的使用者帳戶執行這些命令。如果您使用的是標準使用者帳戶,則需要切換到另一個使用者帳戶才能執行此工具。若要在Windows11上使用PowerShell啟用管理員帳戶:透過點選開始按鈕或按Windows鍵開啟

如何在Windows11上以管理員身分開啟PowerShell以提升或管理員等級的權限執行PowerShell允許您執行繞過Windows檔案保護的命令,例如用於Windows安裝檔案的命令。您可以透過直接開啟PowerShell或開啟新的Windows終端應用程式來執行PowerShell,該應用程式預設使用PowerShell運行命令。在Windows11上以管理員身分開啟PowerShell:開啟開始功能表並輸入powershell或terminal。從右側的

您在執行腳本時是否看到此錯誤訊息「Add-AppxPackage:部署失敗,HRESULT:0x80073D02,無法安裝該包,因為它修改的資源目前正在使用中。PowerShell中出現錯誤0x80073D02…」?如錯誤訊息所述,當使用者在前一個進程執行時嘗試重新註冊一個或所有WindowsShellExperienceHost應用程式時,確實會發生這種情況。我們已經獲得了一些簡單的解決方案來快速解決這個問題。修復1–終止體驗主機程序您必須在執行powershell指令之前結束

區別:1、運行Cmd時,只需佔用不到1M的記憶體;而用PowerShell時,需要佔用大約20M的記憶體。 2、Cmd不支援語法高亮,PowerShell支援。 3.用Cmd運行一些較為複雜、較耗時的命令時,隨意拖曳命令列視窗時,視窗中的內容依然能夠保持原樣;但PowerShell不行。 4.Cmd只能不能使用.net庫中的指令,也不能使用Linux指令;而PowerShell可以。
