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 个回答 Voted 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 查询包括定义要在轴上显示的切片,并且非空运算符将是必要的,以避免查询返回组合级别数量的空单元格。 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中还可以找到一个非常基本的介绍。
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 查询包括定义要在轴上显示的切片,并且非空运算符将是必要的,以避免查询返回组合级别数量的空单元格。
您可能会从这篇冗长的白皮书SQL Server 2008 R2 Analysis Services 操作指南中获得一些有关 SSAS 管理的答案。简介是这样开始的:
显然,它是针对 DBA/管理员的。如果您还使用 SSAS 开发应用程序,还可以查看Analysis Services 2008 性能指南白皮书
由于我自己不直接从事 SSAS 工作,因此我无法从经验中发言——我只是尝试通过阅读我上面提到的白皮书的某些部分来熟悉自己,几个月前我还从 Pragmatic 的作品中进行了为期两天的培训,并且阅读培训师编写的书http://amzn.to/za1ypP 。在本书的第 17 章 -开始 Microsoft® SQL Server&® 2008 Administration中还可以找到一个非常基本的介绍。