技术开发 频道

管理Microsoft SQL Server的分析服务

    【IT168 Tech.Ed 2009 特别报道】精英聚首,践出真知!11月5日-11月7日,IT168与您一道共享IT技术盛会微软Tech.Ed 2009(专题链接:http://app.focus.it168.com/teched2009/index.html)。更多精彩,尽在IT168!

   通过这个动手实验室,您可以了解到:管理 Microsoft® SQL Server® Analysis Services 实例和数据库; 保护 Analysis Services 的安全; 监控 Analysis Services 性能。        


微软TechED2009动手实验室现场

  1 .管理 Analysis Services

  在此练习中,您将使用 SQL Server Management Studio 来管理您的 Analysis Services 实例和数据库,SQL Server Management Studio 是一个适用于所有 SQL Server 技术的中央管理工具。SQL Server Management Studio 提供了支持管理员执行维护任务(例如,连接到多个 Analysis Services 实例、管理配置属性、管理分区和聚合设计)以及备份和恢复 Analysis Services 进程的直观界面。

  设置 Adventure Works OLAP 数据库和安全主体

  1. 在 Windows 资源管理器中,导航到 C:\SQLHOLs\Managing Analysis Services\Starter 文件夹。

  提示:请等待虚拟计算机运行几分钟后再继续执行下一步,以确保 SQL Server Analysis Services 服务已启动。

  2. 右键单击 Setup.cmd 后单击以管理员身份运行。收到提示时,单击继续。此脚本部署 Analysis Services 数据库并创建完成实验所需的 Microsoft Windows® 用户帐户。

  3. 当命令提示窗口关闭时,关闭 Windows 资源管理器。

  连接到 Analysis Services 的默认实例

  1. 单击开始,指向所有程序,单击 Microsoft SQL Server 2008,然后单击SQL Server Management Studio。

  2. 在连接到服务器对话框中,在服务器类型下拉菜单中选择 Analysis Services,在服务器名称框中键入(local),然后单击连接。

  注意:在对象资源管理器中,您可以单击连接按钮以连接到其他 Analysis Services 实例,或连接到 Database Engine(对于关系数据库)、Reporting Services、Integration Services 和 SQL Server Compact Edition。

  修改 Analysis Services 实例的配置属性

  在此过程中,您将更改 Analysis Services 的 (local) 实例所使用的默认备份文件夹,以便将备份文件夹默认保存在 C:\SQLHOLS 文件夹树的文件夹中。您还将更改 SQL Server Analysis Services 所记录的查询数,以基于使用情况进行优化,从默认值每执行十次查询记录一次改为每执行两次查询记录一次。

  1. 在对象资源管理器中,右键单击 (local)Microsoft Analysis Services。选择属性

  2. 在分析服务器属性对话框中,在常规页上的 BackupDir 行中,单击 值 列,然后单击显示在单元格右侧的按钮。

  3. 在查找远程文件夹对话框中,在所选路径框中键入 C:\SQLHOLS\Managing Analysis Services\Starter,然后单击确定。

  4. 请注意尚未更新当前值(在分析服务器属性对话框中的常规页上)。

  5. 在分析服务器属性对话框中,在常规页中的 Log\QueryLog\QueryLogSampling 行中单击 值 列,将值改为 2,然后单击确定。这将导致 Analysis Services 每执行两次查询记录一次。对于查询量非常少的测试服务器,使用新的采样速率提供的日志更为有用。

  6. 在需要重新启动消息中,单击确定。

  7. 在对象资源管理器中,右键单击 (local) Analysis Services

  8. 请注意,BackupDir 的当前值仍未更新。必须重新启动 Analysis Services 服务以使此更改生效。Log\QueryLog\QueryLogSampling 值不需求您重新启动该服务,并且当前值已更新为 2。

  9. 在 Analysis Services 属性对话框中,单击取消关闭该对话框。

  10. 在对象资源管理器中,右键单击 (local)Microsoft Analysis Services,然后单击重新启动。收到提示时,单击继续。

  11. 单击是确认您要重新启动该服务。

  12. 在对象资源管理器中,右键单击 (local)Microsoft Analysis Services

  13. 请注意,BackupDir 的当前值已成功更新。

  14. 在Analysis Services 属性对话框中,单击取消关闭该对话框。

  为分区创建聚合设计

  在此过程中,您将使用聚合设计向导检查多维数据集的分区并设计聚合,处理多维数据集以改进查询性能时可对这些聚合进行预计算。

  1. 在对象资源管理器中,依次展开数据库 | Adventure Works OLAP | 多维数据集 |Adventure Works Cube |度量值组 |Internet Sales|分区。

  2. 右键单击 Internet Sales分区,然后单击设计聚合。

  3. 在欢迎使用聚合设计向导页中,单击下一步。

  4. 在查看聚合使用情况页中,查看默认信息,然后单击下一步。

  5. 在指定对象计数页中,单击计数。这将使向导统计分区中的对象数以估计存储需求。待计数完成后,单击下一步。

  6. 在设置聚合选项页中,选择性能提升达到,请注意性能提升幅度的默认目标值是 30%,然后单击启动。向导会分析分区并为实现目标性能提升设计相应的聚合。待聚合设计完成后,单击下一步。

  7. 在完成向导页中,确认选中了保存聚合但不处理它们,然后单击完成。

  注意:通过使用聚合设计向导,您已确定当对分区进行处理以提升 30% 的查询性能时,SQL Server Analysis Services 可以对数据执行的聚合。您还可以根据使用情况设计聚合。

  备份和还原 Analysis Services 数据库

  1. 右键单击 Adventure Works OLAP 数据库,然后单击备份。

  2. 在备份数据库对话框中的常规页中,确认数据库框包含文本 Adventure Works OLAP,然后确认备份文件框包含文本 Adventure Works OLAP.abf。

  3. 选中允许覆盖文件复选框,确认选中应用压缩和加密备份文件复选框,在密码和确认密码两个框中键入 Pa$$w0rd,然后单击确定。

  注意:数据库将备份到在此练习的前面部分中定义的默认目录中。您可以单击备份文件框的浏览按钮来选择其他备份位置。

  备份完成后,备份数据库对话框将关闭。

  4. 在对象资源管理器中,右键单击数据库文件夹,然后单击还原。

  5. 在还原数据库对话框中的常规页中,输入下列信息,然后单击确定。

  • 备份文件:C:\SQLHOLS\Managing Analysis Services\starter\Adventure Works OLAP.abf

  • 还原数据库:Adventure Works OLAP Test

  • 包括安全信息:选中(复制全部)

  • 密码:Pa$$w0rd

  注意:此过程创建一个名为 Adventure Works OLAP Test的新数据库。这样,您测试还原过程时就不会覆盖现有的 Adventure Works OLAP 数据库。

  6. 还原完成后,还原数据库对话框将关闭。

  7. 右键单击数据库文件夹,然后单击刷新。确认 Adventure Works OLAP Test 数据库已创建。

  8. 保持 SQL Server Management Studio 打开,下一个练习还要使用此程序。

  2. 安全管理

  在此练习中,您将使用 SQL Server Management Studio 对您的 Analysis Services 环境应用安全措施。SQL Server Analysis Services 提供了一个综合性的安全环境,支持管理员对服务器和数据库安全进行细微调。您将使用这些安全功能对 Analysis Services 服务帐户应用更改,创建管理员帐户以管理 Analysis Services 环境,创建用户定义的角色以管理对多维数据集内的安全数据的访问。

  配置 Analysis Services 服务帐户

  1. 单击开始,指向所有程序,单击 Microsoft SQL Server 2008,单击配置工具,然后单击 SQL Server 配置管理器。收到提示时,单击继续。

  2. 在导航窗格中,单击SQL Server 服务,在右侧窗格中,右键单击 SQL Server Analysis Services (MSSQLSERVER)服务,然后单击属性。

  3. 在属性对话框中,确认选中了本帐户,在帐户名框中键入 .\AnalysisService,在密码和确认密码框中键入 Pa$$w0rd,然后单击确定。

  4. 在确认帐户更改消息中,单击是以允许重新启动服务。重新启动服务成功后,属性对话框将自动关闭。

  5. 关闭 SQL Server 配置管理器。

  注意:通过配置 Analysis Services,使其使用特定用户帐户运行,可以确保服务使用仅具有所需权限和系统权利的帐户。此方法有助于将安全风险降到最低。

  向服务器角色添加用户

  1. 在 SQL Server Management Studio 中,在对象资源管理器中右键单击 (local) Analysis Services 实例,然后单击属性。

  2. 在分析服务器属性对话框中,在选择页区域单击安全性。

  3. 在服务器管理员区域,单击添加。

  4. 在选择用户和组对话框中,在输入对象名称来选择框中,键入 ASAdmin,然后单击检查名称。

  5. 确认此名称解析为 MIAMI\ASAdmin,然后单击确定。

  6. 在分析服务器属性页中,单击确定。

  通过将 ASAdmin 用户帐户添加到服务器角色,您已授予其管理 Analysis Services 实例和数据库所需的所有权限。在下面的步骤中,将通过使用此帐户重新启动 Analysis Services 服务来验证此帐户拥有管理权限。

  7. 单击开始,指向“关机”和“锁定计算机”图标旁边的箭头图标,然后单击切换用户。

  8. 按右 Alt +Del,使用密码 Pa$$w0rd 以 ASAdmin身份登录。

  9. 单击开始|所有程序|Microsoft SQL Server 2008|配置工具|SQL Server 配置管理器。

  10. 在导航窗格中,单击SQL Server 服务,在右侧窗格中,右键单击SQL Server Analysis Services (MSSQLSERVER),单击重新启动,然后确认服务已成功重新启动。

  11. 关闭 SQL Server 配置管理器并注销。

  配置用户访问 Analysis Services 数据库的权限

  1. 继续运行会话,这一回使用密码 Pa$$w0rd 以 Student身份登录。

  2. 返回到 SQL Server Management Studio。

  3. 在对象资源管理器中,依次展开数据库|Adventure Works OLAP,右键单击角色,然后单击新建角色。

  4. 在创建角色对话框中,在常规页中的角色名称框中,键入 VPSalesRole。

  5. 在选择页窗格中,单击成员身份。

  6. 在成员身份页中,单击添加为此角色指定用户和组。

  7. 在选择用户或组对话框中,单击对象类型。

  8. 在对象类型对话框中,确认选中了内置安全主体和用户复选框,选中组复选框,然后单击确定。

  9. 在选择用户或组页中,在输入要选择的对象名称框中,键入 VPSales,然后单击检查名称。

  10. 确认此名称解析为 MIAMI\VPSales,然后单击确定。

  11. 在选择页窗格中,单击多维数据集。

  12. 在多维数据集页中,将 Adventure Works Cube 的访问列更改为读,然后单击确定。

  注意:这将允许作为 VPSalesRole角色的用户读取Adventure Works 多维数据集中的数据。

  13. 在对象资源管理器中,右键单击角色,然后单击新建角色。

  14. 在创建角色对话框中,在常规页中的角色名称框中,键入 EuroSalesMgrsRole。

  15. 在选择页窗格中,单击成员身份。

  16. 在成员身份页中,单击添加为此角色指定用户和组。

  17. 在选择用户或组对话框中,单击对象类型。

  18. 在对象类型对话框中,确认选中了内置安全主体和用户复选框,选中组复选框,然后单击确定。

  19. 在选择用户或组对话框中,在输入对象名称来选择框中,键入 EuropeanSalesMgrs,然后单击检查名称。

  20. 确认此名称解析为 MIAMI\EuropeanSalesMgrs,然后单击确定。

  21. 在选择页窗格中,单击多维数据集。

  22. 在多维数据集页中,将 Adventure Works Cube 的访问列更改为读。

  注意:这将允许 EuroSalesMgrs 组中的用户读取 Adventure Works 多维数据集中的数据。

  23. 在选择页窗格中,单击维度数据。

  24. 在维度数据页中,在维度下拉框中,选择 Sales Reason,然后单击确定。

  25. 在基本选项卡中,在属性层次结构下拉列表中,单击Sales Reason Type,然后单击取消选择所有成员。然后仅选择下列成员:

  • marketing

  • Promotion

  注意:这将防止作为 EuroSalesMgrs角色的用户查看销售原因类型层次结构中的Other销售原因类型。

  26. 在选择页窗格中,单击单元数据。

  27. 在单元数据页中,在多维数据集框中,选择 Adventure Works Cube,单击启用读权限,然后在允许读取多维数据集内容框中键入以下 MDX 查询。

  Ancestor([Sales Territory].[Sales Territories].CurrentMember,[Sales Territory].[Sales Territories].[Sales Territory Group]).Name = "Europe" OR (NOT Measures.CurrentMember IS [Measures].[Sales Amount Quota])

  注意:您可以从 C:\SQLHOLS\Managing Analysis Services\Starter\CellDataMDX.txt 复制此脚本。这样限定了作为 EuropeanSalesMgrs 角色的用户只能查看欧洲市场的销售配额。

  28. 单击确定关闭创建角色对话框。

  测试用户对 Analysis Services 数据库的访问权限

  1. 在对象资源管理器中,展开多维数据集,右键单击 Adventure Works Cube,然后单击浏览。

  2. 在 Adventure Works 多维数据集[浏览] 选项卡中,单击更改用户图标。

  3. 在安全上下文对话框中,单击角色,选择 VPSalesRole 角色,确认未选中其他角色,单击确定,然后单击确定更改安全上下文。

  请注意工具栏下方提示您使用的是 VPSalesRole 凭据的信息行。

  4. 在元数据窗格中,依次展开Measures | Internet Sales| Sales,将 Internet Sales – Sales Amount拖动到右侧的结果窗格中,然后将其放置到将汇总或明细字段拖至此处区域(也可以右键单击 Internet Sales – Sales Amount,然后单击添加到数据区域)。

  5. 在元数据窗格中,展开Sales Reason维度,将Sales Reason Type拖动到结果窗格中,然后将其放置到将行字段拖至此处区域(也可以右键单击Sales Reason Type属性,然后单击添加到行区域)。

  确认 VPSalesRole 角色可以查看Marketing、Promotion和Other销售原因类型的销售额。

  6. 右键单击结果区域,然后单击清除结果(也可以在工具栏中单击清除结果)从浏览器清除所有数据。

  7. 在元数据窗格中,依次展开Measures | Sales Quotas,右键单击Sales Amount Quota,然后单击添加到数据区域。

  8. 在元数据窗格中,展开Sales Territory维度,右键单击Sales Territory,然后单击添加到行区域。

  确认 VPSalesRole 角色可以查看所有区域的销售配额。

  9. 单击更改用户图标。

  10. 在安全上下文对话框中,在角色下拉列表中清除 VPSalesRole 角色,选择 EuroSalesMgrsRole,确认未选中其他角色,单击确定,然后单击确定关闭安全上下文对话框。

  请注意工具栏下方提示您使用的是 EuroSalesMgrsRole 凭据的信息行。

  11. 在元数据窗格中,依次展开Measures | Internet Sales| Sales,右键单击 Internet Sales – Sales Amount,然后单击添加到数据区域。

  12. 在元数据窗格中,展开Sales Reason维度,右键单击Sales Reason Type,然后单击添加到行区域。

  确认 EuroSalesMgrsRole 角色可以查看Marketing、Promotion销售原因类型的销售额,但不能查看Other销售原因类型的销售额。

  13. 在工具栏中,单击清除结果从浏览器清除所有数据。

  14. 在元数据窗格中,依次展开Measures | Sales Quotas,右键单击Sales Amount Quota,然后单击添加到数据区域。

  15. 在元数据窗格中,展开Sales Territory维度,右键单击Sales Territory,然后单击添加到行区域。

  确认 EuroSalesMgrsRole 角色可以查看欧洲市场的销售配额,但不能查看其他区域的销售配额。

  16. 保持多维数据集浏览器窗口打开,下一个练习还要使用此窗口。

  3.性能监视

  在此练习中,您将使用动态管理视图 (DMV) 监视 Analysis Services 的连接和资源统计信息。监视 Analysis Services 统计信息的功能可帮助您解决与 Analysis Services 相关的问题并优化 Analysis Services 性能。

  注意:您可以从 C:\SQLHOLS\Managing Analysis Services\Starter\Exercise3.txt 复制此练习中使用的脚本。每份脚本前面都带有注释,以标识和代码相关的过程和步骤

  查看 Analysis Services 连接和会话信息

  1. 在 SQL Server Management Studio中的文件菜单中,指向新建,然后单击Analysis Services MDX 查询(也可以在工具栏中单击新建查询)。

  2. 如果显示连接到 Analysis Services 对话框,请单击连接。

  3. 在工具栏中的可用数据库列表中,确保选中 Adventure Works OLAP 数据库。

  4. 键入下列命令并执行,然后滚动浏览结果,查看所有包含以 DISCOVER_ 开头的 TABLE_NAME 值的行。此查询为您提供可用的 DMV。

  SELECT * FROM $SYSTEM.DBSCHEMA_TABLES

  ORDER BY TABLE_NAME

  注意:利用这些 DMV,从服务器检索性能统计信息的方式可以非常灵活。您可以编写自定义应用程序或使用 SQL Server Reporting Services 生成报告,收集并查看解决 Analysis Services 环境问题和优化该环境所需的信息。

  5. 在查询页中,使用以下命令替换现有查询,然后单击执行。

  SELECT * FROM $SYSTEM.DISCOVER_CONNECTIONS

  6. 查看查询结果。调整左起第五列(CONNECTION_HOST_APPLICATION)的列宽,以查看每个连接的完整应用程序名称。请注意 SQL Server Management Studio 查询和 SQL Server Management Studio 的结果是有区分的。

  注意:CONNECTION_LAST_COMMAND_START_TIME、CONNECTION_LAST_COMMAND_END_TIME 和 CONNECTION_LAST_COMMAND_ELAPSED_TIME_MS 等值可帮助您找出运行时间长或有问题的查询。

  7. 关闭上一练习结束时保留为打开状态的 Adventure Works Cube[浏览]窗口。

  8. 在 MDXQuery1 选项卡中,重新执行步骤 5 的查询 (SELECT * FROM $SYSTEM.DISCOVER_CONNECTIONS),并注意 SQL Server Management Studio 连接不再呈示。记下当前 CONNECTION_ID 值。

  9. 最小化 SQL Server Management Studio。

  10. 单击开始|所有程序| Microsoft Office,然后单击 Microsoft Office Excel 2007。

  11. 在 Excel 功能区中,单击数据选项卡。

  12. 在数据选项卡中,在获取外部数据部分,单击自其他来源,然后单击来自分析服务。

  13. 在连接数据库服务器页中,在服务器名称框中键入 (local),然后单击下一步。

  14. 在选择数据库和表中,在选择数据库框中,选择 Adventure Works OLAP 数据库,单击 Adventure Works Cube,然后单击下一步。

  15. 在保存数据连接文件并完成页中,单击完成。

  16. 在导入数据页中,查看默认设置,然后单击确定。

  17. 在数据透视表字段列表中,在 Internet Sales下,展开Sales,然后选中 Internet Sales-Sales Amount复选框。

  18. 在数据透视表字段列表中,在Product下,选中Product Categories复选框。

  19. 最小化 Microsoft Office Excel®,然后最大化 SQL Server Management Studio。

  20. 在 MDXQuery1 选项卡中,重新执行步骤 5 的查询 (SELECT * FROM $SYSTEM.DISCOVER_CONNECTIONS),然后记录 Excel 创建的新连接的 CONNECTION_ID。

  21. 在现有查询下,键入以下查询。

  SELECT

  session_connection_id

  , session_spid

  , session_user_name

  , session_last_command

  , session_start_time

  , session_cpu_time_ms

  , session_reads

  , session_writes

  , session_status

  , session_current_database

  , session_used_memory

  , session_start_time

  , session_elapsed_time_ms

  , session_last_command_start_time

  , session_last_command_end_time

  FROM $SYSTEM.DISCOVER_SESSIONS

  22. 选择刚刚输入的查询,然后单击执行。

  23. 查看 session_connection_id 与步骤 20 中记录的数字匹配的行的输出。请注意这些结果中包含用户名、上一命令和每个连接的 CPU 时间等有用诊断信息。

  注意:session_status 为 1 表示在报告运行时具有活动查询的会话。

  查看 Analysis Services 对象信息

  单击新建查询。

  24. 键入以下命令并执行,以查看数据库中每个对象的内存使用量。

  SELECT * FROM $SYSTEM.DISCOVER_OBJECT_MEMORY_USAGE

  25. 键入以下命令并执行,以查看数据库中每个对象的活动。

  SELECT * FROM $SYSTEM.DISCOVER_OBJECT_ACTIVITY

  26. 关闭 SQL Server Management Studio 和 Microsoft Office Excel 2007。请勿保存任何文件。

  27. 关闭 Hyper-V 窗口

0
相关文章