

# RDS for SQL Server 包含许可证的实例的优化 CPU
<a name="SQLServer.Concepts.General.OptimizeCPU"></a>

借助 RDS for SQL Server，您可以通过指定处理器功能来使用“优化 CPU”，以配置数据库实例上的 vCPU 计数，同时保持相同的内存和 IOPS。您可以针对特定的数据库工作负载要求实现所需的内存与 CPU 比，并降低基于 vCPU 计数的 Microsoft Windows 操作系统和 SQL Server 的许可成本。

要指定处理器功能，请使用以下参数：

```
--processor-features "Name=coreCount,Value=value" \ 
	"Name=threadsPerCore,Value=value"
```
+ **coreCount**：指定数据库实例的 CPU 核心数，以优化数据库实例的许可成本。要查找所选实例类型支持的核心计数值，请参阅[支持“优化 CPU”的数据库实例类数据库实例类支持](SQLServer.Concepts.General.OptimizeCPU.Support.md)。
+ **threadsPerCore**：指定每核心线程数以定义每个 CPU 核心的线程数。要查找所选实例类型支持的每核心线程数的值，请参阅[支持“优化 CPU”的数据库实例类数据库实例类支持](SQLServer.Concepts.General.OptimizeCPU.Support.md)。

使用“优化 CPU”设置创建 RDS for SQL Server 实例的命令示例：

```
aws rds create-db-instance \
    --engine sqlserver-ee \
    --engine-version 16.00 \
    --license-model license-included \
    --allocated-storage 300 \
    --master-username myuser \
    --master-user-password xxxxx \
    --no-multi-az \
    --vpc-security-group-ids myvpcsecuritygroup \
    --db-subnet-group-name mydbsubnetgroup \
    --db-instance-identifier my-rds-instance \
    --db-instance-class db.m7i.8xlarge \
    --processor-features "Name=coreCount,Value=8" "Name=threadsPerCore,Value=1"
```

在本例中，您创建一个 `db.m7i.8xlarge` 实例，默认情况下 coreCount 为 16。通过使用“优化 CPU”，您可以选择 coreCount 为 8，从而使有效的 vCPU 计数为 8。

如果您创建实例时不带 `--processor-features` 参数，则默认情况下，核心计数设置为 16，每核心线程数设置为 1，因而默认 vCPU 计数为 16。

指定处理器功能时需要记住的一些注意事项：
+ **创建**：从支持的值中为 `processor-features` 参数指定 `coreCount` 和 `threadsPerCore`。请参阅[支持“优化 CPU”的数据库实例类数据库实例类支持](SQLServer.Concepts.General.OptimizeCPU.Support.md)。
+ **修改**：从一个配置了“优化 CPU”设置的实例类修改为另一个支持“优化 CPU”设置的实例类时，您必须使用 `--use-default-processor-features` 参数指定默认处理器设置，或者在修改请求期间显式定义选项。
**注意**  
更改 vCPU 计数可能会影响与数据库实例关联的许可费用成本。
+ **快照还原**：将快照还原到与源相同的实例类型时，还原的数据库实例将继承快照中的“优化 CPU”设置。如果还原到不同的实例类型，则需要为目标实例定义“优化 CPU”设置或指定 `--use-default-processor-features` 参数。
+ **时间点恢复**：时间点恢复（PITR）涉及根据指定的 PITR 时间还原特定的快照，然后将所有事务日志备份应用于该快照，从而将实例恢复到指定的时间点。对于 PITR，除非在 PITR 请求期间指定了自定义值，否则“优化 CPU”设置 `coreCount` 和 `threadsPerCore` 源自源快照（而不是时间点）。如果正在使用的源快照启用了“优化 CPU”设置，并且您为 PITR 使用不同的实例类型，则必须为目标实例定义“优化 CPU”设置或指定 `—-use-default-processor-features` 参数。

## 限制
<a name="SQLServer.Concepts.General.OptimizeCPU.Limitations"></a>

使用“优化 CPU”时，以下限制适用：
+ 只有企业版、标准版和 Web 版支持“优化 CPU”。
+ “优化 CPU”适用于部分实例。请参阅[支持“优化 CPU”的数据库实例类数据库实例类支持](SQLServer.Concepts.General.OptimizeCPU.Support.md)。
+ 对于大小等于 `2xlarge` 及更大的实例，支持自定义 CPU 核心数量。对于这些实例类型，“优化 CPU”支持的最少 vCPCU 数量为 4。
+ “优化 CPU”仅支持每核心 1 个线程，因为从第 7 代起，对支持“优化 CPU”的实例禁用超线程。