查看和使用数据库引擎优化顾问的输出

数据库引擎优化顾问优化数据库时,它会创建摘要、建议、报告和优化日志。 可以使用优化日志输出对数据库引擎优化顾问优化会话进行故障排除。 可以使用摘要、建议和报表来确定是要实现优化建议还是继续优化,直到实现Microsoft SQL Server 安装所需的查询性能改进。 有关如何使用数据库优化顾问创建工作负荷和优化数据库的信息,请参阅 “启动和使用数据库引擎优化顾问”。

查看调优输出

以下过程介绍如何使用数据库引擎优化顾问 GUI 查看优化建议、摘要、报告和优化日志。 有关用户界面选项的信息,请参阅本主题后面的 用户界面说明

还可以使用 GUI 查看 由 dta 命令行实用工具生成的优化输出。

注释

如果使用 dta 命令行实用工具并指定使用 -ox 参数将输出写入 XML 文件,则可以通过单击 SQL Server Management Studio 的“文件”菜单上的“打开文件”打开和查看 XML 输出文件。 有关详细信息,请参阅 Use SQL Server Management Studio。 有关 dta 命令行实用工具的信息,请参阅 dta 实用工具

使用数据库引擎优化顾问 GUI 查看优化建议

  1. 使用数据库引擎优化顾问 GUI 或 dta 命令行实用工具优化数据库。 有关详细信息,请参阅 启动并使用数据库引擎优化顾问。 如果要使用现有的调优会话,请跳过此步骤,并继续到步骤 2。

  2. 启动数据库引擎优化顾问 GUI。 有关详细信息,请参阅 启动并使用数据库引擎优化顾问。 如果要查看现有优化会话的优化建议,请在“会话监视器”窗口中双击会话名称将其打开。

    新优化会话完成后,或在工具加载现有会话后,将显示 “建议 ”页。

  3. “建议 ”页上,单击“ 分区建议 ”和“ 索引建议 ”以查看显示优化会话结果的窗格。 如果在设置此会话的优化选项时未指定分区,则 “分区建议 ”窗格为空。

  4. “分区建议 ”或“ 索引建议 ”窗格中,使用滚动条查看网格中显示的所有信息。

  5. 建议选项卡页面底部取消选中显示现有对象。 这会导致网格仅显示建议中引用的数据库对象。 使用底部滚动条在建议网格中查看最右侧的列,然后单击 “定义 ”列中的项以查看或复制在数据库中创建该对象的 Transact-SQL 脚本。

  6. 如果要将此建议中创建或删除所有数据库对象的所有 Transact-SQL 脚本保存到一个脚本文件中,请单击“作”菜单上的“保存建议”。

使用数据库引擎优化顾问 GUI 查看优化摘要和报告

  1. 使用数据库引擎优化顾问 GUI 或 dta 命令行实用工具优化数据库。 有关详细信息,请参阅 启动并使用数据库引擎优化顾问。 如果想要使用现有的调优会话,请跳过此步骤并继续进行步骤 2。

  2. 启动数据库引擎优化顾问 GUI。 有关详细信息,请参阅 启动并使用数据库引擎优化顾问。 如果要查看现有优化会话的优化摘要和报表,请双击会话监视器中的会话名称将其打开。

  3. 新优化会话完成后,或在工具加载现有会话后,单击“ 报告 ”选项卡。

  4. 调优摘要 窗格包含有关调优会话的信息。 预期百分比改进建议所用空间提供的信息对于决定是否实施该建议特别有用。

  5. 在“ 优化报表 ”窗格中,单击 “选择报表” 以选择要查看的优化报表。

使用数据库引擎优化顾问 GUI 查看优化日志

  1. 使用数据库引擎优化顾问 GUI 或 dta 命令行实用工具优化数据库。 在优化工作负荷时,请确保在“常规”选项卡上选中“保存优化日志”。 如果要使用现有的优化会话,请跳过此步骤,然后继续执行步骤 2。

  2. 启动数据库引擎优化顾问 GUI。 有关详细信息,请参阅 启动并使用数据库引擎优化顾问。 如果想要查看现有优化会话的优化摘要和报表,请在 “会话监视器 ”窗口中双击会话名称将其打开。

  3. 新优化会话完成后,或在工具加载现有会话后,单击“ 进度 ”选项卡。“ 优化日志 ”窗格显示日志的内容。 该日志包含有关数据库引擎优化顾问无法分析的工作负荷事件的信息。

    如果数据库引擎优化顾问分析了优化会话中的所有事件,则显示一条消息,指示该会话的优化日志为空。 如果最初运行优化会话时未在“常规”选项卡上检查“保存优化日志”,则显示一条消息,指示该日志。

实现优化建议

可以手动或自动实现数据库引擎优化顾问建议,作为优化会话的一部分。 如果要在实现优化结果之前先检查优化结果,请使用数据库引擎优化顾问 GUI。 然后,可以使用 SQL Server Management Studio 手动运行数据库引擎优化顾问生成的 Transact-SQL 脚本,以便分析工作负荷以实施建议。 如果在实现结果之前不需要检查结果,可以将 -a 选项与 dta 命令提示符实用工具一起使用。 这会导致实用工具在分析工作负荷后自动实现优化建议。 以下过程说明如何使用两个数据库引擎优化顾问接口来实现优化建议。

使用数据库引擎优化顾问 GUI 手动实现优化建议

  1. 使用数据库引擎优化顾问 GUI 或 dta 命令提示符实用工具优化数据库。 有关详细信息,请参阅 启动并使用数据库引擎优化顾问。 如果您想使用现有的调整会话,请跳过此步骤,直接继续执行第 2 步。

  2. 启动数据库引擎优化顾问 GUI。 有关详细信息,请参阅 启动并使用数据库引擎优化顾问。 如果要为现有优化会话实现优化建议,请双击 会话监视器中的会话名称将其打开。

  3. 新优化会话完成后,或在工具加载现有会话后,单击“作”菜单上的“应用建议”。

  4. 在“ 应用建议 ”对话框中,选择 “立即应用 ”或 “计划”供以后使用。 如果选择 “计划”供以后使用,请选择相应的日期和时间。

  5. 单击“ 确定 ”以应用建议。

使用 dta 命令提示符实用工具自动实现优化建议

  1. 确定数据库功能(索引、索引视图、分区),希望数据库引擎优化顾问考虑在分析期间添加、删除或保留。

    在开始优化之前,请记住以下注意事项:

    • 将跟踪表用作工作负荷时,该表必须存在于数据库引擎优化顾问正在优化的同一服务器上。 如果在其他服务器上创建跟踪表,请将其移动到数据库引擎优化顾问正在优化的服务器。

    • 如果优化会话的运行时间比预期要长,可以按 Ctrl+C 结束优化会话。 在这些情况下按 Ctrl+C 会强制 dta 根据消耗的工作负荷量生成最佳建议,并且不会浪费工具已用于优化工作负荷的时间。

  2. 在命令提示符下输入以下内容:

    dta -E -D DatabaseName -if WorkloadFile -s SessionName -a  
    

    其中 -E 指定优化会话使用受信任的连接(而不是登录 ID 和密码), -D 指定要优化的数据库的名称或工作负荷使用的多个数据库的逗号分隔列表; 如果 指定工作负荷文件的名称和路径, 则 -s 指定优化会话的名称, 和 -a 指定你希望 dta 命令提示符实用工具在分析工作负荷后自动应用优化建议,而无需提示你。 有关使用 dta 命令提示符实用工具优化数据库的详细信息,请参阅 “启动和使用数据库引擎优化顾问”。

  3. 按 Enter。

执行探究性分析

数据库引擎优化顾问的用户指定的配置功能使数据库管理员能够执行探索分析。 使用此功能,数据库管理员将所需的物理数据库设计指定给数据库引擎优化顾问,然后他们可以在不实现设计的情况下评估该设计的性能影响。 数据库引擎优化顾问图形用户界面(GUI)和命令行实用工具都支持用户指定的配置。 但是,命令行实用工具提供了最大的灵活性。

如果使用数据库引擎优化顾问 GUI,则可以评估实现数据库引擎优化顾问优化建议子集的效果,但不能添加数据库引擎优化顾问要评估的假设物理设计结构。

以下过程说明如何将用户指定的配置功能与这两个工具接口一起使用。

使用数据库引擎优化顾问图形用户界面评估优化建议

以下过程介绍如何评估数据库引擎优化顾问生成的建议,但 GUI 不允许指定用于评估的新物理设计结构。

使用数据库引擎优化顾问的图形用户界面评估调优建议
  1. 使用数据库引擎优化顾问 GUI 优化数据库。 有关详细信息,请参阅 启动并使用数据库引擎优化顾问。 如果要评估现有的调优会话,请在会话监视器中双击它。

  2. 在“ 建议 ”选项卡上,清除不希望使用的建议物理设计结构。

  3. “操作” 菜单上,单击 “评估建议” 。 系统将为你创建新的优化会话。

  4. 键入新的 会话名称。 若要查看要评估的物理数据库设计结构配置,请选择 “单击此处”以查看配置部分, 位于数据库引擎优化顾问应用程序窗口底部的 “说明 ”区域。

  5. 在工具栏中,单击 “开始分析” 按钮。 数据库引擎优化顾问完成后,可以在 “建议 ”选项卡上查看结果。

使用数据库引擎优化顾问 GUI 导出“What-if”优化分析的优化会话结果

以下过程介绍如何将数据库引擎优化顾问优化会话结果导出到 XML 文件,你可以对其进行编辑,然后使用 dta 命令行实用工具对其进行优化。 这样,便可以对假设的新物理设计结构执行优化分析,而无需在数据库中实现这些结构,然后才发现它们是否产生所需的性能改进。 使用数据库引擎优化顾问 GUI 最初优化数据库,然后将优化结果导出到 .xml 文件中,对于不熟悉 XML 的用户来说,最好使用数据库引擎优化顾问 XML 架构的灵活性来执行“what-if”分析。

若要使用 dta 命令行实用工具从数据库引擎优化顾问 GUI 导出优化会话结果,以便进行“what-if”分析
  1. 使用数据库引擎优化顾问 GUI 优化数据库。 有关详细信息,请参阅 启动并使用数据库引擎优化顾问。 如果要评估现有优化会话,请在 会话监视器中双击它。

  2. 在“ 文件 ”菜单上,单击“ 导出会话结果 ”并将其另存为 XML 文件。

  3. 在最喜欢的 XML 编辑器、文本编辑器或 SQL Server Management Studio 中打开步骤 2 中创建的 XML 文件。 向下滚动到 Configuration 元素。 将 Configuration 元素部分复制并粘贴到元素后的 TuningOptions XML 输入文件模板中。 保存此 XML 输入文件。

  4. 在步骤 3 中创建的新 XML 输入文件中,指定元素中 TuningOptions 所需的任何优化选项,编辑 Configuration 元素部分(根据分析添加或删除物理设计结构),保存文件,并针对数据库引擎优化顾问 XML 架构对其进行验证。 有关编辑此 XML 文件的信息,请参阅 XML 输入文件参考(数据库引擎优化顾问)。

  5. 使用在步骤 4 中创建的 XML 文件作为 dta 命令行实用工具的输入。 有关将 XML 输入文件与此工具配合使用的信息,请参阅 Start and Use the Database Engine Tuning Advisor 中的“使用 dta 实用工具优化数据库”部分。

将用户指定的配置功能与 dta 命令行实用工具配合使用

如果你是经验丰富的 XML 开发人员,则可以创建数据库引擎优化顾问 XML 输入文件,在其中可以指定工作负荷和物理数据库设计结构的假设配置,例如索引、索引视图或分区。 然后,可以使用 dta 命令行实用工具分析此假设配置对数据库的查询性能的影响。 以下过程分步说明此过程:

将用户指定的配置功能与 dta 命令行实用工具配合使用
  1. 创建调优工作负载。 有关执行此任务的信息,请参阅 “启动和使用数据库引擎优化顾问”。

  2. 请将 包含用户指定配置(DTA)的 XML 输入文件示例 复制并粘贴到您的 XML 编辑器或文本编辑器中。 使用此示例为调节会话创建 XML 输入文件。 有关执行此任务的信息,请参阅“开始”中的“创建 XML 输入文件”部分 ,并使用数据库引擎优化顾问

  3. 编辑示例 XML 输入文件中的TuningOptions元素和Configuration元素。 在 TuningOptions 元素中,指定要数据库引擎优化顾问在优化会话期间考虑的物理设计结构。 在 Configuration 元素中,指定与希望数据库引擎优化顾问分析的物理数据库设计结构的假设配置相匹配的物理设计结构。 有关可用于TuningOptionsConfiguration父元素和父元素的属性和子元素的信息,请参阅 XML 输入文件引用(数据库引擎优化顾问)。

  4. 使用 .xml 扩展名保存输入文件。

  5. 根据数据库引擎优化顾问 XML 架构验证在步骤 4 中保存的 XML 输入文件。 安装Microsoft SQL Server 时,此架构安装在以下位置:

    C:\Program Files\Microsoft SQL Server\100\Tools\Binn\schemas\sqlserver\2004\07\dta\dtaschema.xsd  
    

    数据库引擎优化顾问 XML 架构也可以在线获取 https://schemas.microsoft.com/sqlserver/2004/07/dta

  6. 创建工作负荷和 XML 输入文件后,即可将输入文件提交到 dta 命令行实用工具进行分析。 请确保为 -ox 实用工具参数指定 XML 输出文件名。 这会创建一个 XML 输出文件,其中包含元素中指定的 Configuration 建议配置。 如果要再次运行数据库引擎优化顾问来检查基于输出的另一个假设配置,可以将输出文件中的元素内容复制并粘贴 Configuration 到新的或原始的 XML 输入文件中。 有关将 XML 输入文件与 dta 实用工具配合使用的信息,请参阅 “启动和使用数据库引擎优化顾问”中的“使用 dta 实用工具优化数据库”部分。

    优化完成后,使用数据库引擎优化顾问 GUI 查看优化报告,或打开 XML 输出文件 TuningSummary 以查看数据库引擎优化顾问建议和 Configuration 元素。 有关查看优化会话结果的信息,请参阅本主题前面的 “查看优化输出 ”。 另请注意,XML 输出文件可能包含数据库引擎优化顾问分析报告。

  7. 重复步骤 6 和 7,直到创建假设配置,以生成所需的查询性能改进。 然后,可以实现新配置。 有关详细信息,请参阅本主题前面的 “实施优化建议 ”。

查看、评估和克隆调优会话

每次开始分析工作负荷对数据库或数据库的影响时,数据库引擎优化顾问都会创建新的优化会话。 可以使用数据库引擎优化顾问 GUI 中的 会话监视器 查看或重新加载在给定的 Microsoft SQL Server 实例上运行的所有优化会话。 拥有现有优化会话可供查看,可以便捷地:根据现有会话克隆新会话,编辑当前调优建议,然后使用数据库引擎调优顾问对编辑后的会话进行评估,或定期执行调优以监控数据库的物理设计。 例如,可以决定按月计划优化数据库。

在查看 SQL Server 实例的任何优化会话之前,必须先使用数据库引擎优化顾问对工作负荷进行优化,然后才能在服务器实例上创建优化会话。 有关详细信息,请参阅 启动并使用数据库引擎优化顾问

查看现有优化会话

使用以下步骤浏览给定 SQL Server 实例上的现有优化会话。

查看现有优化会话
  1. 启动数据库引擎优化顾问 GUI。 有关详细信息,请参阅 启动并使用数据库引擎优化顾问

  2. 所有现有的调整会话显示在会话监视器窗口的上半部分。 显示的会话数取决于在此 SQL Server 实例上优化数据库的次数。 使用滚动条查看所有优化会话。

  3. 单击优化会话名称一次,其详细信息将显示在 “会话监视器 ”窗口的下半部分。

  4. 双击优化会话名称,其信息将加载到数据库引擎优化顾问中。 加载会话信息后,可以选择任何选项卡以查看有关此优化会话的信息。

评估现有调试会话作为假设配置

使用以下步骤评估现有优化会话。 评估现有优化会话涉及查看和编辑其建议,然后重新优化。 例如,你决定只想在 table1 上创建索引,以便从现有优化建议中删除索引视图和分区的创建。 然后,数据库引擎优化顾问会创建新的优化会话,并使用编辑的建议作为假设配置来优化数据库的工作负荷。 这意味着数据库引擎调优顾问根据数据库的负载进行调优,仿佛编辑过的建议已被实施,让您能够进行有限的“假设分析”。 使用数据库引擎优化顾问 GUI 时,假设分析受到限制,因为您只能选择现有建议的子集。 若要执行完整的模拟分析,请指定一个全新的假设配置,该配置不是任何以前的优化会话的子集,必须将数据库引擎优化顾问 XML 输入文件与 dta 命令行实用工具一起使用。

评估现有调优会话
  1. 启动数据库引擎优化顾问后,双击 会话监视器窗口上半部分的某一优化会话,将会话信息加载到数据库引擎优化顾问中。

  2. 单击“ 进度 ”选项卡检查优化日志,其中包含有关数据库引擎优化顾问无法优化的工作负荷中的任何事件的错误信息。 此信息可帮助你评估工作负荷的有效性。

  3. 若要进一步查看此会话的优化结果,请单击“ 报告 ”选项卡。可在其中查看优化摘要,或从 “选择报表” 列表中选择优化报表。

  4. 单击“ 建议 ”选项卡以查看优化建议。

  5. 如果有任何建议不确定如何实现,请取消选中它们。

  6. “操作” 菜单上,单击 “评估建议” 。 数据库引擎优化顾问创建一个新的优化会话,该会话使用编辑后的建议作为假设配置。 若要查看 XML 中的假设配置,请选择 “单击此处”以查看配置部分

  7. 在“ 常规 ”选项卡上,键入 会话名称,并确保指定了正确的 工作负荷

  8. 在“ 优化选项 ”选项卡上,可以指定优化时间或任何 高级选项

  9. 在工具栏中,单击 “开始分析” 按钮。 数据库引擎优化顾问使用假设配置开始优化数据库。 数据库引擎优化顾问完成后,您可以和通常一样查看此会话的结果。

克隆现有调优会话

可以通过在数据库引擎优化顾问中选择克隆选项,基于现有会话创建新的优化会话。 使用克隆选项时,可以基于现有会话创建新的调优会话。 然后,可以根据需要更改新会话的调整选项。 如前一过程中所述评估现有会话时,数据库引擎优化顾问还会创建新的优化会话,但无法更改优化选项。

通过克隆现有会话创建新的调试会话
  1. 启动数据库引擎优化顾问后,在会话监视器的上半部分双击一个优化会话,这会将会话信息加载到数据库引擎优化顾问中。

  2. 操作菜单上,单击克隆会话

  3. 在“ 常规 ”选项卡上,键入 会话名称,并确保指定了正确的 工作负荷

  4. 优化选项选项卡上,您可以指定优化时间,并设置数据库引擎优化顾问在其建议中应考虑创建或去除的物理设计结构。

  5. 如果要设置建议的空间限制、每个索引的最大列数以及是否希望数据库引擎优化顾问生成可在 SQL Server 联机时实现的建议,请单击“ 高级选项 ”。

  6. 单击工具栏上的 “开始分析 ”按钮,以像分析任何其他优化会话一样分析工作负荷的影响。 数据库引擎优化顾问完成后,可以像平常查看任何会话的结果一样查看此会话的结果。

用户界面说明

会话监视器

会话监视器 显示有关在数据库引擎优化顾问中打开的会话的信息。 若要在属性窗口中显示有关会话的信息,请在 会话监视器中选择会话名称。

“建议”选项卡

数据库引擎优化顾问完成工作负荷分析后,将显示 “建议 ”选项卡。 此网格包含针对考虑的每个对象的建议。 分区建议(如果有)显示在上方表格中,索引建议显示在下方表格中。 如果没有建议,则不会显示网格。

定义列包含作为超链接的建议分区或索引的定义。 此列通常太窄,无法查看整个定义。 单击超链接可显示包含完整定义的对话框和 “复制到剪贴板 ”按钮。

分区建议

数据库名称
包含建议修改的对象的数据库。

建议
建议的措施以提高性能。 可能的值为 Create 和 Drop。

建议目标
受建议影响的分区函数或方案。 此列中的图标反映建议删除或添加 建议目标 ,以及它是分区函数还是方案。

详细信息
建议目标的说明。 可能的值包括分区函数的范围,或分区方案的空白。

否。 分区数
建议的分区函数定义的分区数。 当此函数与方案一起使用,然后应用于表时,表中的数据将划分为多个分区。

定义
建议目标的定义。 单击该列以打开“SQL 脚本预览”对话框,其中包含建议作的脚本。

索引建议

数据库名称
包含建议修改的对象的数据库。

对象名称
与推荐相关的表格。

建议
建议的措施以提高性能。 可能的值为 Create 和 Drop。

建议目标
受建议影响的索引或视图。 此列中的图标反映要删除或添加 “建议目标”的建议。

详细信息
建议目标的说明。 可能的值包括聚集视图、索引视图或空白,指示非聚集索引。 还指示索引是否唯一。

分区方案
如果建议分区,则在此列中提供分区方案。

大小 (KB)
建议的新对象的预期大小。 如果此列为空,请单击“ 查看报表”了解现有对象的大小

定义
建议目标的定义。 单击该列以打开“SQL 脚本预览”对话框,其中包含建议作的脚本。

显示现有对象
选择以显示网格中的所有现有对象,即使数据库引擎优化顾问没有与对象相关的建议。

有关现有对象的大小,请参阅报表
选择查看推荐网格中提供现有对象大小的报告。

操作菜单/应用建议的选项

分析工作负荷并显示建议后,在 “作 ”菜单上,单击“ 应用建议 ”以打开“ 应用建议 ”对话框。

立即应用
为建议生成脚本,并运行脚本来实现建议。

稍后安排
为这些建议生成脚本,并将这些动作保存为 SQL Server 代理作业。

日期
指定要运行 SQL Server 代理作业以应用建议的日期。

时间
指定要运行 SQL Server 代理作业以应用建议的时间。

“报表”选项卡选项

数据库引擎优化顾问完成工作负荷分析后,将显示“ 报表 ”选项卡。

调整摘要
显示数据库引擎优化顾问建议的摘要。

日期
数据库引擎优化顾问创建报表的日期。

时间
数据库引擎优化顾问创建报表的时间。

服务器
作为数据库引擎优化顾问工作负荷目标的服务器。

要优化的数据库
受数据库引擎优化顾问建议影响的数据库。

工作负荷文件
当工作负荷是文件时显示。

工作负荷表
当工作负荷是 SQL Server 表时显示。

工作量
当工作负荷已从 SQL Server Management Studio 中的查询编辑器导入时显示。

最大优化时间
配置为可用于数据库引擎优化顾问分析的最长时间。

优化所需的时间
数据库引擎优化顾问实际用于分析工作负荷的时间。

预期百分比改进
如果实施所有数据库引擎优化顾问的建议,预计目标工作负载将有百分比的改进。

建议的最大空间(MB)
建议中考虑的最大空间。 在“优化选项”选项卡上使用“高级选项”按钮进行分析之前配置此值。

当前使用的空间(MB)
数据库被分析后,索引当前使用的空间。

建议使用的空间(MB)
如果实现了所有数据库引擎优化顾问建议,则索引预期要使用的近似空间。

工作负荷中的事件数
工作负荷中包含的事件数。

调谐的事件数
已优化工作负荷中的事件数。 如果无法优化事件,则会在优化日志中列出,该日志在 “进度 ”选项卡上可用。

已调整的语句数
被调整的工作负载中的语句数量。 如果语句无法进行调优,则会在进度选项卡上的调优日志中列出。

优化集中 SELECT 语句的百分比
SELECT 语句的已优化语句的百分比。 仅当有已优化 SELECT 语句时,才会显示。

调优集中的 UPDATE 语句百分比
被调整语句中为 UPDATE 语句的百分比。 只有在 UPDATE 语句经过优化和调整时,才会出现。

建议 [创建 | 删除] 的索引数
建议在优化的数据库上创建或删除索引数。 仅当索引是建议的一部分时才会显示。

建议 [创建 | 删除] 的视图上的索引数
建议在优化的数据库中创建或删除视图的索引数量。 仅当视图上的索引是建议的一部分时才会显示。

建议创建的统计信息数
建议在优化的数据库上创建的统计信息数。 仅当建议使用统计信息时才会显示。

选择报表
请参阅所选报表的详细信息。 网格中的列因每个报表而异。

另请参阅

启动并使用数据库引擎优化顾问
dta 实用工具