AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 14600
Accepted
ivanmp
ivanmp
Asked: 2012-03-08 12:25:51 +0800 CST2012-03-08 12:25:51 +0800 CST 2012-03-08 12:25:51 +0800 CST

DBA 必须了解哪些有关 SSAS 的知识?

  • 772

我看过很多关于 SSAS 业务方面的资料,但关于行政和管理的重要方面的资料并不多。

从管理 SQL Server Analysis Services 实例的角度来看,工作的 DBA 必须了解哪些有关 SSAS 的知识才能正确有效地管理它?

sql-server ssas
  • 2 2 个回答
  • 21536 Views

2 个回答

  • Voted
  1. Best Answer
    ConcernedOfTunbridgeWells
    2012-03-08T14:46:09+08:002012-03-08T14:46:09+08:00

    DBA 的 SSAS 快速概览

    因此,您是一名 SQL Server DBA,并且您刚刚继承了一些需要管理的多维数据集。关于 SSAS 管理的快速速成课程似乎是有序的。

    从管理的角度来看,SSAS 是一个相当简单的应用程序,但需要大量资源。它比 DBMS 平台简单得多,尽管在几个方面有所不同。此外,还有一些管理任务,例如特定于 SSAS 的基于使用的优化,您可能需要考虑这些任务。

    备份你的配置文件

    所有配置数据都保存在一个名为msdmsrv.ini. 它是一个 XML 文件。如果您通过 SSMS 修改配置(连接到服务器,右键单击服务器,选择属性),您可以设置将在启动时中断服务器的选项。msmdsrv.ini在玩任何东西之前先复制一份。

    重要参数

    记忆: SSAS 是圣经中的记忆猪。如果可能的话,它喜欢 64 位版本和大量内存。参数'Memory\LowMemoryLimit' 和 'Memory\HighMemoryLimit'控制内存使用策略。LowMemoryLimit 不是最小内存分配。这是 SSAS 认为系统内存不足并开始从其缓存中刷新内容的阈值。HighMemoryLimit 是它将使用的绝对最大值。

    请注意,SSAS 将其数据存储在文件中(大量文件 - 它没有任何与文件组等效的机制),因此它大量使用 O/S 文件系统缓存来处理这些文件。请注意,这些限制的默认值分别约为机器内存的 65% 和 80%,因此如果您希望 OLAP 服务器与 SQL Server 实例共存,则需要将其关闭,这样它就不会与数据库服务器。

    目录: 五个感兴趣的参数包括:DataDir、AllowedBrowsingFolders、BackupDir、LogDir 和 TempDir。DataDir 和 AllowedBrowsingFolders 是最重要的。

    • AllowedBrowsingFolders会影响 OLAP 服务器将其数据文件放入的文件夹列表。任何带有用户界面(例如部署向导)的东西都会将您的选项限制在 AllowedBrowsingFolders 中的列表中。该值是一个以竖线 ('|') 分隔的目录列表。

    • DataDir是文件的默认路径。如果您打算将多维数据集划分为多个卷,则需要适当地配置 AllowedBrowsingFolders。

    • LogDir是服务器放置各种日志文件的地方,包括飞行记录器和查询日志。飞行记录器日志用于故障排除,OLAP 查询日志用于基于使用的优化(稍后会详细介绍)。

    • TempDir是 SSAS 在处理时创建的临时文件的位置。如果您正在处理大量数据并遇到性能问题,您可能会受益于将其从数据转移到另一个卷上。

    • BackupDir就是它在锡上所说的。

    杂项: 一些杂项参数也可能是有意义的。您可能需要调整的几组是:

    • DefaultMaxDrillthroughRows:这限制了钻取行集的大小。您可能需要摆弄这个以允许更多。

    • 线程/超时:您可能需要调整这些。我从来不用打扰。

    这些是基础。出于特定原因,您可能需要调整其他内容,但您可以为此做功课。

    可以在此处找到 SSAS 服务器属性的参考指南。

    运营

    部署: 您可以在 BIDS 中编译一个项目,并获得一组可以使用部署向导进行部署的文件。 您可能需要调整分区的文件路径和其他一些事情。

    编程和批处理管理任务:通过称为 XML/A 的 Web 服务 API 向 SSAS 发出命令。Microsoft 提供了一个交互式工具来发布 MDX 和 XML/A connands。如果您必须在 XML/A 命令中嵌入 MDX,请注意是否需要使用 XML 转义符,例如&. 这不是 SSMS 中的 MDX 编辑器和查询工具的问题。

    离线作业可以通过各种 SSIS 多维数据集处理任务、称为命令行实用程序ascmd.exe或称为 AMO 的 .Net API 来完成。您还可以获得各种 powershell 工具等。 ascmd.exe获取一个 XML/A 文件并将其发布到服务器。如果您必须以编程方式处理文件,则最好使用少量 .Net 工具,而不是尝试从 .cmd 脚本操作 XML 文件。

    操作指南对此进行了更详细的介绍。

    安全

    SSAS 的安全性相当简单。它有一个全局“服务器”角色,具有跨整个系统的管理权限。不幸的是,您需要“服务器”来创建数据库,因此您很可能需要将它授予您拥有的任何开发 OLAP 服务器上的开发人员。

    其他安全性只能应用于单个多维数据集模式。您可以将对单个项目的读取、处理、钻取、写回等权限授予架构中的角色。OLAP 模式上的角色可以在 BIDS 中定义并与多维数据集一起部署。AD 组或用户可以通过 SSMS 分配给这些角色。

    可以在此处查看如何以编程方式管理角色成员资格的示例。

    基于使用的优化

    作为一名 DBA,您可能会参与其中,但首先要了解一些有关物理存储的背景知识。SSAS 通过计算和持久化预构建的聚合以及基础数据来工作。如果可以通过点击聚合来满足查询,则 OLAP 服务器将优先使用此聚合而不是基本数据,因为聚合将涉及更少的 I/O,因此检索数据会更快。

    但是,您必须确定要计算哪些聚合(即要为其生成汇总的维度属性组合)。BIDS 有一个工具可以对此进行猜测并为您生成一些。一些工具,例如BIDS 助手也将允许您手动编辑聚合。

    基于使用情况的优化通过记录发送到服务器的实际查询的日志,然后使用该日志计算出一组对这些查询来说是最佳的聚合。作为 DBA,您可以设置 OLAP 查询日志记录来捕获这些数据,然后在多维数据集上运行优化。可以在此处找到有关设置查询日志的简介。

    执行此操作的工具称为“基于使用的优化向导”。 这存在于 SSMS 中,可以通过在资源管理器中打开分区并从右键菜单中选择“基于使用的优化”来找到。

    性能指南更详细地介绍了调优。

    MDX

    MDX看起来有点像 SQL,但工作方式却大不相同。一篇关于“面向 SQL 程序员的 MDX”的论文本身就是一个完整的主题。我建议阅读一些关于它的教程和/或买一本关于它的书。另外,如果您有任何问题,dba.se 的友好人员可以帮助您解决问题。

    MDX 没有任何过滤行的概念。该语言有很多集合操作来计算在查询1的各个轴上显示的内容,以及“SELECT”。您可以使用with看起来有点像 CTE 的语句来定义度量和集合。

    可以在此处和此处找到一些介绍性 MDX 编程资源(这个非常古老且冗长)。还有一些关于这个主题的好书;这个 SO question对 SSAS 资源有很多扇出。

    1虽然它确实有非空运算符,将结果限制为实际有数据的组合。大多数 MDX 查询包括定义要在轴上显示的切片,并且非空运算符将是必要的,以避免查询返回组合级别数量的空单元格。

    • 51
  2. DaniSQL
    2012-03-08T12:44:14+08:002012-03-08T12:44:14+08:00

    您可能会从这篇冗长的白皮书SQL Server 2008 R2 Analysis Services 操作指南中获得一些有关 SSAS 管理的答案。简介是这样开始的:

    在本指南中,您将找到有关如何在生产环境中在 SQL Server 2005、SQL Server 2008 和 SQL Server 2008 R2 中测试和运行 Microsoft SQL Server Analysis Services 的信息。本指南的重点是如何测试、监控、诊断和消除即使是规模最大的立方体上的生产问题。本文还提供了有关如何配置服务器以获得最佳性能的指导。

    显然,它是针对 DBA/管理员的。如果您还使用 SSAS 开发应用程序,还可以查看Analysis Services 2008 性能指南白皮书

    由于我自己不直接从事 SSAS 工作,因此我无法从经验中发言——我只是尝试通过阅读我上面提到的白皮书的某些部分来熟悉自己,几个月前我还从 Pragmatic 的作品中进行了为期两天的培训,并且阅读培训师编写的书http://amzn.to/za1ypP 。在本书的第 17 章 -开始 Microsoft® SQL Server&® 2008 Administration中还可以找到一个非常基本的介绍。

    • 6

相关问题

  • SQL Server - 使用聚集索引时如何存储数据页

  • 我需要为每种类型的查询使用单独的索引,还是一个多列索引可以工作?

  • 什么时候应该使用唯一约束而不是唯一索引?

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve