优化模式的优先顺序:dta 实用工具何时覆盖 XML 优化输入

有多种方法使用 dta 命令提示实用工具来指定优化选项。可以在命令提示符下或者在用于 dta 实用工具的 XML 输入文件中指定优化选项。如果正在重用某个 XML 输入文件并要更改该文件中包含的优化选项,还可以通过在命令提示符下输入不同选项来同时在这两个位置指定优化选项。如果同时在命令提示符下和 XML 输入文件中指定优化选项,在命令提示符下指定的选项将会覆盖在 XML 文件中指定的选项。

示例

以下示例显示了 XML 输入文件 MyXMLInput.xml,以及在命令提示符下使用的、用于优化在 XML 输入文件中指定的工作负荷的语法。

MyXMLInput.xml 指定数据库引擎优化顾问考虑下列优化选项:

  • 仅限索引

  • 不分区

  • 不要求保持任何现有的物理设计结构

在命令提示符下使用的语法指定数据库引擎优化顾问考虑下列不同的优化选项:

  • 索引和索引视图

  • 不分区

  • 要求保持所有现有的物理设计结构

当数据库引擎优化顾问优化此工作负荷时,在命令提示符下输入的优化选项会覆盖在 XML 输入文件中指定的优化选项。

注意注意

如果使用 XML 输入文件中的 CONFIGURATION 元素指定了物理设计结构的配置,则在命令提示符下输入的 -fk NONE 优化选项不会覆盖计算模式下的用户指定的配置。有关详细信息,请参阅配置元素 (DTA)

MyXMLInput.xml

<?xml version="1.0" encoding="utf-16" ?>
<DTAXML xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://schemas.microsoft.com/sqlserver/2004/07/dta">
  <DTAInput>
...code removed
    <Workload>
      <File>MyWorkload.sql</File>
    </Workload>
    <TuningOptions>
      <FeatureSet>IDX</FeatureSet>
      <Partitioning>NONE</Partitioning>
      <KeepExisting>NONE</KeepExisting>
    </TuningOptions>
  </DTAInput>
</DTAXML>

dta 实用工具命令行语法

dta -S MyServer -E -D MyDatabase -ix MyXMLInput.xml -s MySession -fa IDX_IV -fp NONE -fk ALL -ox MyXMLOutput.xml

其中,-S 指定服务器名称;-E 指定数据库引擎优化顾问使用可信连接;-D 指定要优化的数据库的名称;-ix 指定 XML 输入文件;-s 指定优化会话名称。选项 -fa IDX_IV-fp NONE-fk ALL 分别指定希望数据库引擎优化顾问考虑其所得到的建议,即考虑索引和索引视图而不考虑分区,并且必须保留所有现有的索引、索引视图和分区。