MSSQL Server分析服务性能优化浅析


  在SQL Server数据库治理中,针对 综合服务Analysis Services 的性能优化必不可少,这里我们将学习到 使用DMV来进行Analysis Services 的优化 。 使用动态治理视图 (DMV) 监督 Analysis Services 的衔接和资源统计信息 。 Analysis Services 统计信息的 性能可协助您解决与 Analysis Services 有关的问题并优化 Analysis Services 性能 。

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

  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 示意在报告运行时 存在 运动 查问的会话 。

  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 窗口