热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

SSAS下玩转PowerShell

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

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

操作SSAS数据库的方法有很多,是否有一种可以方法可以通过脚本自动去做这些事呢,比如处理分区,创建备份以及监视SSAS的运行状况。

原文地址:

http://www.mssqltips.com/sqlservertip/2937/using-powershell-for-sql-server-analysis-services-tasks--part-1/

PowerShell作为命令行工具来自动化处理SSAS任务就是一个不错的选择。因为是围绕SSAS处理任务的话题,所以阅读此篇需要具备一些SSAS的基础知识,这里我们使用SQL Server 2012。

此篇将介绍如下内容:

启动PowerShell通过PowerShell导航并且查看SSAS对象通过PowerShell运行些基础指令处理SSAS的一个分区

本文使用SQL Server 2012的Adventureworks示例数据库,有可以在这里下载到这个示例库:

http://msftdbprodsamples.codeplex.com/releases/view/55330

开始

在开始菜单下,点击Run选项。或者Windows键+r。

\

在运行窗体中输入sqlps启动SQL Server下的PowerShell。

\

输入GCI命令查看PowerShell下的对象列表。

\

GCI命令的含义是获取所有子对象,跟DOS时代下的dir命令很像,所以这里你也可以同样可以使用LS或者DIR获取同样的结果。从结果中可以看到,SQL Server PowerShell可以让你自动以自动化的方式去处理SQL Server数据引擎的任务,策略,数据集,SQL Server集成服务任务以及SQL Server分析服务任务。此篇我们将集中SSAS任务。

使用如下命令进入到分析服务目录中。

CD sqlas

这里的CD命令跟DOS下的相同。

关于GCI的更过信息,可以输入如下命令获取帮助:

get-help gci –detailed

\

分区操作

SSAS多维数据库下包含Cubes立方体,Cubes下又包含度量值以及度量值分区。下图展示了其层次结构。\

接下来使用CD命令移动到分区目录下。

cd servername\DEFAULT\databases\AdventureWorksDW2012Multidimensional-EE\cubes\Adventure Works\MeasureGroups\Internet Orders\Partitions

Servername就是Windows Server的名称。Default是SSAS服务实例的名称。AdventureWorksDW2012Multidimensional-EE是数据库名称。AdventureWork是立方体名称。Internet Orders是度量值组名称。最后我们就可以获取到其下的分区信息。当一个分析服务数据库太大的时候我们会考虑将其拆分成不同的分区:

\

使用分区对数据进行拆分,可以通过并行的方法提高处理的速度,并且对于相关的查询性能也会有提高。

接下来通过GCI命令列出所有的分区信息.

\

我们可以看到分区名称,估计行数以及处理的模式。在Adventureworks立方体中分区是按照年来进行拆分的。每个分区的行数默认是没有被计算的所以看到的是0。处理模式是分区的处理方式,Regular模式意味着数据和聚合都会被处理,另外一种Lazy聚合意味着数据首先会被处理,聚合在随后的后台进程创建。这个设置对数据以及降低索引创建是非常有帮助的,因为索引的创建会有额外的性能开销。

可以通过Get-member的方法获取分区下的所有成员。

LS | Get-Member

\

Get-Member命令用于列出一个对象支持的属性和方法。在这里就是列出分区下所支持的属性和方法。

比如可以看到分区名,LastProcessed时间以及分区的EstimatedSize:

LS| SELECT NAME, LASTPROCESSED, ESTIMATEDSIZE

\

如果要处理一个指定的分区那么就可以使用下面的命令:

Invoke-ProcessPartition -Name "Internet_Orders_2006" -MeasureGroupname "Internet Orders" -CubeName "Adventure Works" -database "AdventureWorksDW2012Multidimensional-EE" -ProcessType "ProcessFull"

这个命令会处理Adventureworks下Internet Orders度量值组名为"Internet_Order_2006"的分区,并且是以全量的方式来处理。

\

在SQL Server 2012 SP1的这个版本,当我们运行完这个命令然后再运行"LS|SELECT NAME, LASTPROCESSED, ESTIMATEDSIZE",默认信息是没有更新的。需要把PowerShell关闭掉然后再重新打开再运行这个命令才可以看到更新后的信息。

备份SSAS数据库

运行下面的命令可以实现Adventureworks的备份:

backup-asdatabase d:\awdb-20110930.abf "AdventureWorksDW2012Multidimensional-EE" -AllowOverwrite –ApplyCompression

这个命令会备份AdventureWorksDW2012Multidimensional-EE数据库,备份文件名为awdb-20110930.abf,并且存储在d盘根目录下。这个命令同样也会覆盖已经存在的同名备份文件。

\

此篇演示了如何启动PowerShell,如何显示对象下的属性,如何处理一个分区以及最后如何备份一个数据库。下一篇会介绍PowerShell在SSAS下的更多操作。

译注:

SSAS的对象的层次结构比较复杂,具体该如何进行导航或者在某些对象下能做什么,需要对SSAS数据库的基本结构有一个了解。

PowerShell操作SSAS的方式也是通过AMO的方式,方便通过基于.net的方式来进行操作。


推荐阅读
  • MySQL锁机制详解
    本文深入探讨了MySQL中的锁机制,包括表级锁、行级锁以及元数据锁,通过实例详细解释了各种锁的工作原理及其应用场景。同时,文章还介绍了如何通过锁来优化数据库性能,避免常见的并发问题。 ... [详细]
  • 本文探讨了如何利用SqlDependency执行复杂的SQL查询,并确保在多线程环境下的安全性与效率。 ... [详细]
  • 本文详细介绍了在Linux环境下如何有效地管理任务,包括撤销操作、挂起与恢复任务、终止后台程序以及取消定时任务的方法。这些技巧对于提高日常工作效率和系统维护至关重要。 ... [详细]
  • YB02 防水车载GPS追踪器
    YB02防水车载GPS追踪器由Yuebiz科技有限公司设计生产,适用于车辆防盗、车队管理和实时追踪等多种场合。 ... [详细]
  • Java与JSON互转:实现JSON到Java对象及Java对象到JSON的转换
    本文详细介绍了如何在Java中实现JSON数据与Java对象之间的相互转换,包括代码示例和常见问题解决方法。 ... [详细]
  • Ubuntu GamePack:专为游戏爱好者打造的Linux发行版
    随着Linux系统在游戏领域的应用越来越广泛,许多Linux用户开始寻求在自己的系统上畅玩游戏的方法。UALinux,一家致力于推广GNU/Linux使用的乌克兰公司,推出了基于Ubuntu 16.04的Ubuntu GamePack,旨在为Linux用户提供一个游戏友好型的操作环境。 ... [详细]
  • Python数据类型6 字典
    字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包 ... [详细]
  • 推荐两款实用的网络诊断工具
    大家好,因为一些私事很久没有更新博客了。今天向大家介绍两款非常有用的网络诊断工具——Tracert和Telnet,帮助你更好地理解和解决网络问题。 ... [详细]
  • 本文详细介绍了ActivityManagerService (AMS) 的工作原理及其在Android系统中的重要角色。AMS作为system_server进程的一部分,在系统启动时加载,负责管理和协调应用程序中的Activity和服务(Service)。文章将通过具体的接口图和通信流程,帮助读者更好地理解AMS的工作机制。 ... [详细]
  • EasyMock实战指南
    本文介绍了如何使用EasyMock进行单元测试,特别是当测试对象的合作者依赖于外部资源或尚未实现时。通过具体的示例,展示了EasyMock在模拟对象行为方面的强大功能。 ... [详细]
  • 众包(Crowdsourcing)是指将任务分发给广泛的社区成员完成,而非由组织内部人员独力承担。这一模式在软件测试领域尤为突出,通过结合网络与云计算技术,形成了强大的众包测试机制,对传统测试流程产生了深远影响。 ... [详细]
  • 管理类联考英语复习指南:基础语法(八)
    本文探讨了谓语动词和分词在句子中的作用,包括分词作为状语、定语和宾语补足语的使用方法,以及分词的时态和语态变化。 ... [详细]
  • 题目 CF1245F: 清理春天的数学挑战 描述了一个数学问题:给定一个区间 [L, R](0 ≤ L, R ≤ 10^9),求该区间内满足 x + y = x ∧ y 的数对 (x, y) 的总数。 ... [详细]
  • 本文汇集了一系列与Windows 7开发相关的资源链接,包括官方开发者指南、培训工具包、兼容性工具包以及SDK等,旨在为开发者提供全面的支持。 ... [详细]
  • OBS (Open Broadcaster Software) 架构解析
    本文介绍 OBS(Open Broadcaster Software),一款专为直播设计的开源软件。文章将详细探讨其技术架构、核心组件及其开发环境要求。 ... [详细]
author-avatar
李程VS_328_302
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有