一般性问题
问:什么是 Amazon RDS for SQL Server?
Amazon RDS for SQL Server 是一种 Relational Database Service (RDS),可以简化在云中设置、操作和扩展 SQL Server 部署的过程。它是一种完全托管的持久性数据库,专为大规模企业工作负载构建,让您能够腾出手来将精力放在应用程序部署上。
问:如何连接到 Amazon RDS for SQL Server 数据库实例?
在本教程中,您将了解如何创建 Microsoft SQL Server 数据库实例(我们称其为实例)、连接到数据库以及删除数据库实例。我们将使用 Amazon Relational Database Service (Amazon RDS) 执行此操作,在本教程中完成的所有操作均符合免费套餐条件。
更多指南可从资源选项卡中获得。
问:Amazon RDS for SQL Server 支持哪些数据库版本?
Amazon RDS for SQL Server 目前支持 Microsoft SQL Server 2014、2016、2017、2019 和 2022。有关受支持次要版本的信息,请参阅 Amazon RDS 用户指南。
问:Amazon RDS for SQL Server 支持哪些 SQL Server 版本?
Amazon RDS for SQL Server 支持企业版、标准版、Web 版和 Express 版。
问:Amazon RDS for SQL Server 提供哪些实例类型?
请访问 Amazon RDS for SQL Server 定价,查看完整的数据库实例和区域可用性信息。
问:如何试用 Amazon RDS for SQL Server?
您可以通过本教程了解如何开始使用 Amazon RDS for SQL Server。
问:Amazon RDS for SQL Server 是否拥有 SLA?
是。如需了解更多信息,请查看 Amazon RDS 服务等级协议。
定价
问:Amazon RDS for SQL Server 是如何收费的?
请访问 Amazon RDS for SQL Server 定价,查看完整的数据库实例和区域可用性信息。
问:Amazon RDS SQL Server 是如何收费的?
实例定价是从实例创建时间开始算起,直到实例被删除为止。实例以一秒为增量计费,最低收取 10 分钟的费用,然后提供可计费状态更改(例如创建、修改或删除实例)。
例如,如果您在下午 1:00:00 创建一个 r5.large 实例,并在下午 1:30:00 将它修改成一个 r5.xlarge 实例,然后在下午 1:50:00 删除该实例,您需要以 r5.xlarge 定价支付 1800 秒(30 分钟)的费用,并以 r5.xlarge 价格支付 1200 秒(20 分钟)的费用。如果您在下午 3:00:00 创建一个 r5.large 实例,并在下午 3:06:00 将它删除,则应该支付 10 分钟的最低费用,您将以 r5.large 定价支付 600 秒(10 分钟)的费用。
问:我是否需要单独为许可付费?
否。Amazon RDS for SQL Server 价格中包含软件许可、底层硬件资源和 Amazon RDS 管理功能。
硬件、扩展和存储
问:Amazon RDS for SQL Server 数据库实例的最小存储限制和最大存储限制是什么?
数据库实例的存储大小可设置为 10GiB 到 16TiB 之间的任何值。您可以利用自动扩展存储功能自动增加数据存储,而不必停机。
问:可以多频繁地扩展 Storage on Amazon RDS for SQL Server?
您可以按自己需要的频率增加存储大小,但是在上一次扩展后需要等待 6 个小时。
问:如何扩展与我的 Amazon RDS for SQL Server 数据库实例相关的计算资源?
在 AWS 管理控制台中,选择所需的实例并单击“修改”按钮,即可扩展分配至实例的计算资源。您可通过更改实例类来修改内存和 CPU 资源。
修改实例类时,在指定的维护时间将应用您请求的更改。或者,您可以使用“立即应用”标记来立即应用您的扩展请求。当您执行扩展操作时,这两种选项均会造成几分钟的可用性影响。请注意,任何其他待定的系统更改也将同时应用。
备份与还原
问:我如何启用我的 RDS for SQL Server 实例备份?
默认情况下,Amazon RDS 可以在 7 天的保留期内自动进行数据库实例备份。免费备份存储仅限于预配置的数据库容量,且只适用于有效的数据库实例。例如,如果您每月预配置的数据存储为 100GB,我们每月将免费提供 100GB 的备份存储。
如果您希望修改备份保留期,可以使用控制台或 CreateDBInstance API(创建新数据库实例时)或 ModifyDBInstance API(对于现有的数据库实例)执行操作。您可以使用这些 API 来将 RetentionPeriod 参数更改为从 0 开始的任何数字(这将禁用自动备份)再到所需的天数。如果数据库实例为只读副本的来源,则无法将该值设置为 0。有关自动备份的更多信息,请参阅 Amazon RDS 用户指南。
问:我能否拍摄快照并将其留在身边,以便在需要时使用?
能,您还可以通过手动创建数据库快照来手动备份自己的数据库实例。如需了解关于创建数据库快照的详细信息,请参阅创建数据库快照。
问:如果删除数据库实例,我的自动化备份会发生什么状况?
删除数据库实例时,您可以在删除前创建一个最终数据库快照;这样的话,您就可以在将来利用此数据库快照恢复已删除的数据库实例。在删除数据库实例后,Amazon RDS 会将这个用户创建的最终数据库快照与所有其他人工创建的数据库快照一起保留。请参阅定价页面,了解备份存储成本的详细信息。
问:我能否在不同区域之间共享我的快照?
能,通过 Amazon RDS,您可以复制自动或手动创建的数据库快照。复制快照之后,副本将作为手动快照。
您可以复制相同 AWS 区域内的快照、跨 AWS 区域复制快照,还可以复制共享快照。
高可用性和复制
问:什么是 Amazon RDS for SQL Server 上的多可用区?
Amazon RDS 支持利用 SQL Server 数据库镜像 (DBM) 或 Always On 可用组 (AG) 对 Microsoft SQL Server 进行多可用区部署。多可用区部署可为数据库实例提供更高的可用性、数据持久性和容错能力。在进行计划的数据库维护或发生计划外服务中断时,Amazon RDS 会自动故障转移到最新的辅助数据库实例。
要了解更多信息,请访问 Amazon RDS for SQL Server 多可用区部署。
问:Amazon RDS for SQL Server 是否可创建只读副本?
是,您可以从同一个源数据库实例创建多达五个只读副本。
问:我能否拥有 Amazon RDS for SQL Server 的跨区域副本?
能,您可以为企业版工作负载创建跨区域只读副本。
问:在失效转移期间会发生什么?
主实例和待机实例使用相同的端点,它的物理网络地址转变成辅助副本,作为失效转移流程的一部分。发生失效转移时,您不必重新配置应用程序。
多可用区实例端口要求
TCP 和 UDP 端口 3343 上的流量需要在 VPC 的网络 ACL 和连接到 Amazon RDS for SQL Server 多可用区实例的安全组中都得到允许。入站和出站方向都需要这种流量。请注意,此端口上的流量仅在网络 ACL 中的 VPC 内以及连接到 RDS SQL Server 实例的安全组内需要。
问:我还没有更改 ACL 中的任何默认规则,我应该怎么办?
如果尚未删除 ACL 中的默认入站和默认出站规则,则无需对 ACL 采取任何进一步的操作。
问:我还没有在我的安全组中添加任何“允许”规则,我应该怎么办?
允许连接到 RDS SQL Server 多可用区实例的安全组中 UDP 和 TCP 端口 3343 上的流量。
问:我到目前为止还没有允许这种流量,为什么我没有看到任何失败消息?
未允许 UDP 和 TCP 端口 3343 上的流量可能会导致 WSFC 服务中出现意外故障。即使您到目前为止还没有看到任何失败消息,您未来也可能会看到。这取决于 WSFC 服务如何以及何时需要端口 3343 上的流量。此外,您的实例当前正在使用的引擎版本可能不是使用 Amazon RDS for SQL Server 的 AlwaysOn。在这种情况下,Amazon RDS for SQL Server 将使用数据库镜像来提供多可用区,并且不需要端口 3343。但是,将来您可能会升级到在 Amazon RDS for SQL Server 上使用 AlwaysOn 的版本,此时您必须允许此流量。
问:如何使用 Amazon RDS for SQL Server 修改网络 ACL 和安全组?
以下文档将指导您如何修改网络 ACL 以添加 ACL 规则、添加安全组(出口)规则以及添加安全组(入口)规则。
最大服务器内存(MB)配置
“最大服务器内存(MB)”设置用于指示 SQL Server 可以为其缓冲池保留的物理内存空间。为此设置配置最大允许值可确保操作系统(OS)和其他进程不会与 SQL Server 进程争夺内存。这有助于防止内存压力问题并提高数据库实例的稳定性。
问:“最大服务器内存(MB)”参数允许的最大值是多少?
- 如果实例小于 2GB,则“最大服务器内存(MB)”允许的最大值为总内存 - 200MB。
- 如果实例小于 8GB,则“最大服务器内存(MB)”允许的最大值为总内存 - 总内存*1/8。
- 如果实例小于 64GB,则“最大服务器内存(MB)”允许的最大值为总内存 - 总内存*1/16。
- 如果实例等于或大于 64GB,则“最大服务器内存(MB)”允许的最大值为总内存 - 4 GB。
问:我使用的是具有 64GB 内存的数据库实例,我已将 “最大服务器内存(MB)”的默认值自定义为 60GB。它会保持在 60GB 吗?
会,这是因为 60GB 是总内存为 64GB 的数据库实例上“最大服务器内存(MB)”的最大允许值。
问:我使用的是具有 64GB 内存的数据库实例,我已将 “最大服务器内存(MB)”的默认值自定义为 62GB。新值将是多少?
根据上面提到的最大允许值,新值将设置为 60GB。将该值应用于您的数据库实例后,您将在 AWS 管理控制台或 CLI 中看到一个事件,显示“最大服务器内存(MB)”值已重置为 60GB。
问:我使用的是具有 64GB 内存的数据库实例,我已将 “最大服务器内存(MB)”的默认值自定义为 52GB。我能增加该值吗?
能,您可以自定义此值,但不得超过上述允许的最大值。在这种情况下,允许的最大值为 60GB。
问:我使用的是具有 64GB 内存的数据库实例,默认值为“最大服务器内存(MB)”。预期会发生什么变化?
我们将代表您计算一个类似于 AWS 文档的新默认值,并将其应用于您的数据库实例。
问:我使用的是“最大服务器内存(MB)”的现有默认值,对此参数值的更改何时生效?
2023 年 3 月 7 日之后,我们将根据上述内存计算将新的默认参数值应用于您的实例。
问:应用新值后,我需要做什么吗?
不需要。您可能会在 RDS 控制台上看到参数组处于“待定重启”状态,但您不需要重新启动数据库实例,因为“最大服务器内存(MB)”参数更改会自动生效。此消息将在下次实例重启后清除,无需执行任何操作。
问:我使用的是具有 64GB 内存的数据库实例,我已将 “最大服务器内存(MB)”的默认值自定义为 50GB。如果我把它缩小为一个具有 32GB 内存的数据库实例,会发生什么?
根据新数据库实例的可用内存和上述内存计算,我们会将新数据库实例上的 “最大服务器内存(MB)”重置为 30GB。
问:更改“最大服务器内存”配置是否会导致停机?
不需要,更改“最大服务器内存”配置无需停机。