热门资源

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

核心提示:在SQL Server数据库管理中,针对分析服务Analysis Services
的性能优化必不可少

在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
环境问题和优化该环境所需的信息。

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

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
等值可帮助您找出运行时间长或有问题的查询。

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

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

  3. 最小化 SQL Server Management Studio。

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

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

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

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

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

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

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

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

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

  7. 最小化 Microsoft Office Excelreg;,然后最大化 SQL Server Management
    Studio。

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

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

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. 选择刚刚输入的查询,然后单击执行。

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

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

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

SELECT * FROM $SYSTEM.DISCOVER_OBJECT_MEMORY_USAGE

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

SELECT * FROM $SYSTEM.DISCOVER_OBJECT_ACTIVITY

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

  2. 关闭 Hyper-V 窗口

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章