适用于:Azure SQL 托管实例
本文包含有关 Azure SQL 托管实例的最常见问题。
注意
Microsoft Entra ID 以前称为 Azure Active Directory (Azure AD)。
支持的功能
在何处可以找到 SQL 托管实例上受支持的功能列表?
有关 SQL 托管实例中受支持的功能列表,请参阅 Azure SQL 托管实例功能。
有关 Azure SQL 托管实例与 SQL Server 之间的语法和行为差异,请参阅 T-SQL 与 SQL Server 之间的差异。
技术规范、资源限制和其他限制
在何处可以找到 SQL 托管实例的技术特征和资源限制?
有关可用的硬件特征,请参阅硬件配置之间的技术差异。 有关可用的服务层级及其特征,请参阅服务层级之间的技术差异。
我有资格使用哪些服务层级?
任何客户都有资格使用所有服务层级。 软件保障涵盖的标准版和企业版都可以通过对常规用途(包括下一代常规用途服务层级升级,目前为预览版)或业务关键型服务层级使用“Azure 混合权益 (AHB)”来交换,所用交换比例如下:1 个标准版 = 1 个常规用途服务层级,1 个企业版 = 1 个业务关键型服务层级,1 个企业版 = 4 个常规用途服务层级,4 个常规用途 = 1 个企业版服务层级。 有关详细信息,请参阅 AHB 的具体权利。
SQL 托管实例支持哪些订阅类型?
有关受支持的订阅类型的列表,请参阅受支持的订阅类型。
支持哪些 Azure 区域?
可以在大多数 Azure 区域中创建托管实例;请参阅 SQL 托管实例支持的区域。 如果需要当前不支持的区域中的托管实例,请通过 Azure 门户发送支持请求。
SQL 托管实例部署是否有配额限制?
SQL 托管实例具有两个默认限制:对可以使用的子网数的限制,以及对可以预配的 vCore 数的限制。 限制在各种订阅类型和区域间有所不同。 有关按订阅类型列出的区域资源限制的列表,请参阅区域资源限制中的表。 这些是可以按需增加的软限制。 如果需要在当前区域中预配更多托管实例,请使用 Azure 门户发送增加配额的支持请求。 有关详细信息,请参阅请求增加 Azure SQL 数据库的配额。
是否可以按需对托管实例增加数据库数限制 (100)?
每个 SQL 托管实例 100 个数据库这一限制属于硬限制,在常规用途和业务关键服务层级中无法更改。 下一代常规用途服务层级最多可以有 500 个数据库。
如果我有超过 16 TB 的数据,可以迁移到何处?
可以考虑迁移到适合工作负载的其他 Azure 风格:Azure SQL 数据库超大规模或 Azure 虚拟机中的 SQL Server。
如果我有特定硬件要求(如更大的 RAM 与 vCore 比率或更多 CPU),那么可以迁移到何处?
可以考虑迁移到内存/cpu 经过优化的 Azure 虚拟机中的 SQL Server 或 Azure SQL 数据库。
已知问题和缺陷
在何处可以找到已知问题和缺陷?
有关产品缺陷和已知问题,请参阅已知问题。
新功能
在哪里可以找到最新功能和处于公共预览状态的功能?
有关新增功能和预览功能,请参阅新增功能。
创建、更新、删除或移动托管实例
如何预配托管实例?
可以通过 Azure 门户、PowerShell、Azure CLI 和 ARM 模板来预配托管实例。
是否可以在现有订阅中预配托管实例?
是的,如果该订阅属于受支持的订阅类型,则可以在该订阅中预配托管实例。
为什么无法在名称以数字开头的子网中预配托管实例?
这是针对基本组件的一个当前限制,它会按照正则表达式 ^[a-zA-Z_][^\/:*?"<>|`'^]*(?<![.\s])$ 验证子网名称。 当前支持所有通过正则表达式的名称以及有效的子网名称。
如何缩放托管实例?
可以通过 Azure 门户、PowerShell、Azure CLI 或 ARM 模板来缩放托管实例。
是否可以将托管实例从一个区域移到另一个区域?
可以。 有关说明,请参阅跨区域移动资源。
如何删除托管实例?
可以通过 Azure 门户、PowerShell、Azure CLI 或资源管理器 REST API 来删除托管实例。
创建或更新实例或还原数据库需要多长时间?
创建新托管实例或更改服务层级(vCore、存储)的预期时间取决于多个因素。 请参阅管理操作。
创建、更新、删除或移动数据库
可以删除托管实例上的数据库,再使用相同的数据库名称重新创建它吗?
在整个定义的保留期内,保证恢复每个数据库 - 即使是创建后仅几秒钟后删除的数据库。 创建、删除或还原数据库时,将以不同的时间间隔创建备份以保留数据,使其在给定的保留期内可以还原。 如果在备份操作完成之前删除数据库,则可能会阻止删除操作,并显示以下错误:
Message database 'backup_restore_db_lkg_native_restore' already exists. Choose a different database name.
为避免此错误,请在重新创建同名的数据库之前检查删除操作的状态。 有关详细信息,请参阅 sys.dm_operation_status。 操作状态显示“已完成”后,可以还原或创建同名数据库。
以下常见用例可能会遇到此错误:
如果删除多个数据库,并在同一名称后连续重新创建。 删除数据库时,将在操作完成前同步备份事务日志的剩余结尾,如图所示:
在备份结尾日志和删除操作完成之前,不能创建同名数据库。 删除操作是有序的,会将数据库短暂地相继放入队列,这可能会延长删除数据库的过程,并延迟能够使用同一名称创建新数据库的时间。
如果在创建完整备份之前还原并删除了数据库。 还原数据库时,还原过程的第一步是对数据库执行新的完整备份。 如果尝试还原数据库,然后在完整备份完成之前立即将其删除,则在完整备份完成且数据库删除操作完成之前,将无法删除数据库并创建另一个同名数据库。 完整备份可能需要数小时,具体取决于数据库的大小。
免费 SQL 托管实例套餐
如果看不到横幅和 **应用套餐** 按钮,该怎么办?
你的订阅可能不符合免费 SQL 托管实例的条件。 否则,每个订阅只能有一个免费实例。 需要移除现有的免费实例才能创建另一个免费实例。 如果刚刚删除了免费实例,则免费套餐横幅可能需要最多一小时才能重新出现。
帮助! 我无法再连接到我的实例!
你可能已用完当月的信用额度。 转到 Azure 门户中的 SQL 托管实例并检查状态,以查看实例是否由于信用额度不足而处于停止状态。
我的 vCore 小时数的使用速度比预期快,如何查看是什么正在使用 vCore 小时数?
此功能目前不可用。
是否可以将数据库还原到免费实例?
是,可以从 Azure 存储还原自动备份,也可以使用 SQL Server Management Studio (SSMS) 还原数据库备份。
免费 Azure SQL 托管实例套餐是否提供生产质量的实例?
尽管存在资源限制,但免费 SQL 托管旨在让你测试工作负载,而不会产生任何影响。 使用免费 SQL 托管实例时体验的性能与该实例的生产版本的性能相同。
是否可以升级到规模更大或功能更强的实例?
免费 SQL 托管实例提供 4 个和 8 个 vCore 选项。 如果企业需要具有更多资源的实例,请创建一个成熟完善的付费 SQL 托管实例。
是否可以将备份选项更改为异地冗余存储?
无法更改免费 SQL 托管实例的备份选项。
是否可以将学生订阅与免费 Azure SQL 托管实例一起使用?
目前,学生订阅不符合条件。 对于符合条件的订阅,请查看免费 SQL 托管实例套餐先决条件。
命名约定
托管实例是否可与 SQL Server 本地实例同名?
不支持更改托管实例名称。
是否可以更改 DNS 区域前缀?
是的,可以将 SQL 托管实例的默认 DNS 区域 .database.windows.net 更改为你自己的区域。 但是,托管实例的 FQDN 中的主机名部分应保持不变。
若要使用其他 DNS 区域而不是默认区域(例如“.contoso.com”),请执行以下操作:
- 使用 SQL Server 客户端网络实用工具 (CliConfg) 来定义别名。 可以仅使用托管实例主机名,也可以使用后跟自定义域名的托管实例主机名。 CliConfg 工具只是在注册表中的 "HKLM\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo" 或 "HKLM\SOFTWARE\WOW6432Node\Microsoft\MSSQLServer\Client\ConnectTo" 下添加别名,具体取决于你使用 32 位版本 (C:\Windows\System32\cliconfg.exe) 还是使用 64 位版本 (C:\Windows\SysWOW64\cliconfg.exe),因此,可以使用组策略或脚本来执行此工具。 请同时使用两者以确保 32 位和 64 位程序都能够解析别名。
- 在包含托管实例主机名的 DNS 中使用 CNAME 记录,指向托管实例 FQDN。 在这种情况下,使用 Microsoft Entra ID(以前称为 Azure Active Directory)进行身份验证时需要
TrustServerCertificate=TRUE
。 - 在包含托管实例主机名的 DNS 中使用 A 记录,指向托管实例 IP 地址。 不建议使用 IP 地址,因为它可能会不经通知而更改。 在这种情况下,使用 Microsoft Entra 身份验证时需要
TrustServerCertificate=TRUE
。
迁移选项
如何从 Azure SQL 数据库单一池或弹性池迁移到 SQL 托管实例?
Azure SQL 托管实例根据计算和存储大小提供与其他 Azure SQL 数据库部署选项相同的性能级别。 若要在单一实例上合并数据,或者只是需要一种仅在 SQL 托管实例中受支持的功能,可以使用导出/导入 (BACPAC) 功能来迁移数据。 下面是将 SQL 数据库迁移到 SQL 托管实例时可考虑的其他方法:
- 使用外部数据源
- 使用 SQLPackage
- 使用 BCP
如何将实例数据库迁移到单个 Azure SQL 数据库?
一种做法是将数据库导出到 BACPAC,然后导入 BACPAC 文件。 如果数据库小于 100 GB,则建议使用此方法。
如果数据库中的所有表具有主键,并且数据库中没有内存中 OLTP 对象,则可以使用事务复制。
如何将 SQL Server 实例迁移到 SQL 托管实例?
若要迁移 SQL Server 实例,请参阅将 SQL Server 迁移到 Azure SQL 托管实例的指南。
如何从其他平台迁移到 SQL 托管实例?
有关从其他平台迁移的迁移信息,请参阅 Azure 数据库迁移指南。
性能
如何将 Azure SQL 托管实例性能与 SQL Server 性能进行比较?
若要在托管实例与 SQL Server 之间进行性能比较,可以从有关 Azure SQL 托管实例与 SQL Server 之间的性能比较的最佳做法一文入手。
导致 SQL 托管实例与 SQL Server 之间存在性能差异的原因是什么?
请参阅 SQL 托管实例与 SQL Server 之间存在性能差异的主要原因。 事务日志文件大小可能会影响常规用途 SQL 托管实例性能。 有关详细信息,请参阅日志文件大小对常规用途的影响。
如何优化托管实例的性能?
可以通过以下方式优化托管实例的性能:
- 自动优化,通过基于 AI 和机器学习的持续性能优化,提供最佳性能和稳定的工作负载。
- 内存中 OLTP,可改进事务处理工作负载的吞吐量和延迟,并提供更快的业务见解。
- 应用一些应用程序和数据库优化最佳做法。
- 如果工作负载包含大量小型事务,请将连接类型从代理切换到重定向模式以降低延迟和提高吞吐量。
如何进一步优化常规用途托管实例的性能?
若要提高常规用途实例的性能,请考虑增加数据文件大小。 若要优化常规用途实例的存储性能,请参阅常规用途层的存储最佳实践指南。
查询持续时间过长。 如何分析托管实例的等待统计信息?
请参阅分析 SQL 托管实例的等待统计信息。 等待统计信息可以帮助你理解查询持续时间长的原因,并标识正在数据库引擎中等待的查询。
监视、指标和警报
对于托管实例,监视和警报方面有哪些选项?
有关对 SQL 托管实例消耗和性能进行监视和警报的所有可能选项,请参阅 Azure SQL 托管实例监视选项博客文章。 有关 SQL 托管实例实时性能监视,请参阅 Azure SQL 托管实例的实时性能监视。
如何监视托管实例的性能?
请参阅监视和性能优化。
如何监视托管实例的实时性能?
是否可以使用 SQL Profiler 进行性能跟踪?
是的,SQL 托管实例支持 SQL Profiler。 有关详细信息,请参阅 SQL Profiler。 但是,对于给受监视实例造成影响较小的“跟踪”活动,应考虑使用扩展事件。 有关详细信息,请参阅扩展事件。
SQL 托管实例数据库是否支持数据库顾问和 Query Performance Insight?
否,这些不受支持。 可以将 DMV 和查询存储 与 SQL Profiler 和 XEvent 结合使用来监视数据库。
如何监视托管实例的 CPU 使用率?
是否可以在 SQL 托管实例上创建指标警报?
是的。 有关说明,请参阅为 SQL 托管实例创建警报。 有关更多提示和技巧,请参阅此博客。
是否可以在托管实例中的数据库上创建指标警报?
不可以,警报指标仅适用于托管实例。 警报指标不适用于托管实例中的单个数据库。
存储大小
SQL 托管实例的最大存储大小是多少?
SQL 托管实例的存储大小取决于所选的服务层级(“常规用途”、“下一代常规用途”或“业务关键”)。 有关这些服务层级的存储限制,请参阅资源限制。
可用于托管实例的最小存储大小是多少?
实例中可用的最小存储量为 32 GB。 可以按 32 GB 的增量添加存储,直到达到最大存储大小。 第一个 32 GB 是免费的。
是否可以独立于计算资源来增加分配给实例的存储空间?
是的,可以在一定范围内,独立于计算购买附加存储。 请参阅该表中的最大实例预留存储。
如何在常规用途服务层级中优化存储性能?
若要优化存储性能,请参阅常规用途中的存储最佳做法。
备份和还原
备份存储是否是从托管实例存储中扣减出来的?
不是,备份存储不是从托管实例的存储空间中扣减出来的。 备份存储与实例存储空间无关,其大小不受限制。 备份存储受实例数据库备份的保留期限(可配置为最多 35 天)的限制。 有关详细信息,请参阅自动化备份。
如何查看何时对托管实例进行自动备份?
若要跟踪何时在 SQL 托管实例上执行自动备份,请查看监视备份活动。
是否支持按需备份?
是的,可以在其 Azure Blob 存储中创建仅限复制的完整备份,但它只能还原到托管实例。 有关详细信息,请参阅仅复制备份。 但是,如果数据库通过服务管理的 TDE 进行加密,则无法进行仅复制备份,因为用于加密的证书不可访问。 在这类情况下,使用时间点还原功能将数据库移到另一个托管实例或切换到客户管理的密钥。
是否支持本机还原(从 .bak 文件)到 SQL 托管实例?
是的,该功能受支持,可用于 SQL Server 2005 以上版本。 若要使用本机还原,请将 .bak 文件上传到 Azure blob 存储并执行 T-SQL 命令。 有关详细信息,请参阅从 URL 本机还原。
是否支持从 SQL 托管实例本机还原到 SQL Server?
是,但仅限于在 SQL Server 2022 的主要支持期内还原到 SQL Server 2022。 将来可能会引入一些需要更改数据库格式的 Azure SQL 托管实例功能,从而使备份与最新版本的 SQL Server 不兼容。 访问此类功能需要显式选择加入。
业务连续性
系统数据库是否会复制到故障转移组中的辅助实例?
系统数据库不会复制到故障转移组中的辅助实例。 因此,除非在辅助实例上手动创建系统数据库中的对象,否则依赖于该对象的方案不可能在辅助实例上出现。 有关解决方法,请参阅启用依赖于系统数据库中的对象的方案。
网络要求
托管实例子网上的当前入站/出站 NSG 约束有哪些?
托管实例子网上的当前入站/出站 NSG 约束有哪些?
必需的 NSG 和 UDR 规则记录在子网服务辅助配置中,并由服务自动设置。 请记住,这些规则只是维护服务所需的规则。 若要连接到托管实例并使用不同的功能,需要设置需要维护的特定于功能的附加规则。
如何针对管理端口设置入站 NSG 规则?
SQL 托管实例负责对管理端口设置规则。 这通过名为服务辅助的子网配置的功能来实现。 这是为了确保不中断管理流量的流动,以便满足 SLA。
是否可以获取用于入站管理流量的源 IP 范围?
是的。 可以通过配置网络观察程序流日志来分析经过网络安全组的流量。
是否可以设置 NSG 以便控制对数据终结点(端口 1433)的访问?
是的。 预配托管实例之后,可以设置控制对端口 1433 的入站访问的 NSG。 建议尽可能缩小其 IP 范围。
是否可以设置 NVA 或本地防火墙以基于 FQDN 筛选出站管理流量?
否。 由于以下几个原因,不支持此功能:
- 表示对入站管理请求的响应的路由流量是非对称的,无法正常工作。
- 流向存储的路由流量受到吞吐量约束和延迟的影响,因此,我们无法提供预期的服务质量和可用性。
- 这些配置容易出错,不可支持。
是否可以为出站非管理流量设置 NVA 或防火墙?
是的。 实现此功能的最简单方法是将 0/0 规则添加到与托管实例子网关联的 UDR,以通过 NVA 路由流量。
托管实例需要多少 IP 地址?
子网必须有足够数量的可用 IP 地址。 若要确定 SQL 托管实例的 VNet 子网大小,请参阅确定 Azure SQL 托管实例所需的子网大小和范围。
如果没有足够的 IP 地址来执行实例更新操作怎么办?
如果预配 SQL 托管实例的子网中没有足够的 IP 地址,需要创建一个新的子网并将 SQL 托管实例移到该子网。 同时建议在创建新的子网时分配更多 IP 地址,以免在将来的更新操作中遇到类似情况。 了解如何跨子网移动 Azure SQL 托管实例。
是否需要空子网来创建托管实例?
否。 可以使用空子网或是已包含托管实例的子网。
是否可以更改子网地址范围?
如果其中有托管实例,则不可以。 这是一种 Azure 网络基础结构限制。 只允许向空子网添加其他地址空间。
是否可以将托管实例移动到另一个子网?
是的。 SQL 托管实例可以联机方式移动到同一虚拟网络内或不同虚拟网络内的另一个子网。 了解如何跨子网移动 Azure SQL 托管实例。
是否需要空虚拟网络来创建托管实例?
不是必需的。 可以为 Azure SQL 托管实例创建虚拟网络或是为 Azure SQL 托管实例配置现有虚拟网络。
是否可以将托管实例与其他服务一起放入子网?
否。 我们当前不支持将托管实例放置在已包含其他资源类型的子网中。
连接
是否可以使用 IP 地址连接到托管实例?
否,不支持。 托管实例的主机名映射到托管实例虚拟群集前面的负载均衡器。 由于一个虚拟群集可以托管多个托管实例,因此如果不指定名称,则无法将连接路由到正确的托管实例。 有关 SQL 托管实例虚拟群集体系结构的详细信息,请参阅虚拟群集连接体系结构。
托管实例是否可以使用静态 IP 地址?
目前,只有托管实例的专用终结点可以保证静态 IP 地址。
在罕见但必要的情况下,我们可能需要将托管实例联机迁移到新的虚拟群集。需要进行这种迁移的原因是,我们的技术堆栈发生了变化,旨在提高服务的安全性和可靠性。 迁移到新的虚拟机组或虚拟群集会导致映射到托管实例主机名的 IP 地址发生变化。 托管实例服务不会提供静态 IP 地址支持,且有权在不另行通知的情况下,在定期维护周期更改此 IP 地址。
出于上述原因,只能通过关联的域名来访问 VNet 本地终结点和公共终结点。 我们强烈建议不要依赖其 IP 地址的不可变性,因为这样做可能会导致在服务正常运行的情况下长时间不可用。
如果需要可从虚拟网络外部访问的静态 IP 地址,则可以使用前端公共 IP 地址部署 Azure 防火墙,并配置 NAT 规则以将入站流量转换为托管实例的专用终结点。 然后,设置 DNS 解析或配置客户端别名,以便 SQL 客户端可以通过托管实例的完全限定域名连接到防火墙的公共 IP 地址。
SQL 托管实例是否具有公共终结点?
是,可以启用公共终结点,使来自 Internet 的入站流量能够到达 SQL 托管实例。 有关详细信息,请参阅将 SQL 托管实例与公共终结点配合使用和在 SQL 托管实例中配置公共终结点。
是否可以为 SQL 数据终结点指定自定义端口?
否,不可使用自定义端口。 对于 VNet-local 终结点,SQL 托管实例使用默认端口号 1433;对于公共数据终结点,SQL 托管实例使用默认端口号 3342。
连接放置在不同区域中的托管实例的建议方法是什么?
全局虚拟网络对等互连(VNet 对等互连)和 Azure 虚拟 WAN 是用于连接不同区域中两个托管实例的推荐方法。 Express Route 线路对等互连是另一种选择。 如果在你的环境中这两个选项都不可行,则唯一的其他连接方法是站点到站点 VPN 连接。 使用 Azure 门户、PowerShell 或 Azure CLI 配置站点到站点 VPN
SQL 托管实例是否支持全局 VNet 对等互连?
2020 年 9 月 22 日,向 Azure SQL 托管实例添加了对新创建的虚拟群集的全局虚拟网络对等互连(VNet 对等互连)的支持。 因此,2020 年 9 月 22 日之后在空子网中创建的托管实例支持虚拟网络对等互连。 对于在此日期之前部署的实例,由于全局虚拟网络对等互连的约束,对等互连支持仅限于同一区域中的网络。 有关详细信息,请查看 Azure 虚拟网络常见问题解答的相关部分。
要对 2020 年 9 月之前创建的实例使用全局 VNet 对等互连,请考虑配置维护时段或将实例移至新子网,因为任一选项都会将实例移至支持全局虚拟网络对等互连的新虚拟群集。
如果需要,请参阅如何检查虚拟群集是否支持全局虚拟网络对等互连。
缓解数据透露风险
如何缓解数据透露风险?
为了缓解任何数据透露风险,我们建议客户应用一组安全设置和控制:
- 在所有数据库上启用透明数据加密 (TDE)。
- 关闭公共语言运行时 (CLR)。 也建议在本地禁用 CLR。
- 仅使用 Microsoft Entra 身份验证。
- 使用低特权 DBA 帐户访问实例。
- 为 sysadmin 帐户配置 JiT jumpbox 访问权限。
- 启用 SQL 审核,并将其与警报机制相集成。
- 启用 Microsoft Defender for SQL 套件中的威胁检测。
- 将服务终结点策略应用于子网,以控制流向 Azure 存储的出站流量。
- 默认情况下,CREATE EXTERNAL TABLE AS SELECT (CETAS) 处于禁用状态。 若要通过
allowPolyBaseExport
服务器配置选项启用 CETAS,请参阅 CREATE EXTERNAL TABLE AS SELECT (CETAS)。
DNS
是否可以为 SQL 托管实例配置自定义 DNS 解析程序?
是的。 请参阅解析 Azure SQL 托管实例中的专用 DNS 名称。
是否可以执行 DNS 刷新?
是的。 请参阅解析 Azure SQL 托管实例中的专用 DNS 名称。
更改时区
是否可以更改现有托管实例的时区?
首次预配托管实例时可以设置时区配置。 不支持更改现有托管实例的时区。 有关详细信息,请参阅时区限制。
解决方法包括使用适当的时区创建新的托管实例,然后执行手动备份和还原,我们建议执行跨实例时间点还原。
安全性和数据库加密
sysadmin 服务器角色是否可用于 SQL 托管实例?
是的,客户可以创建作为 sysadmin 角色成员的登录名。 承担 sysadmin 权限的客户也负责操作实例,这会对 SLA 承诺产生负面影响。 若要将登录名添加到 sysadmin 服务器角色,请参阅 Microsoft Entra 身份验证。
SQL 托管实例是否支持透明数据加密?
是的,Azure SQL 托管实例支持透明数据加密 (TDE)。 有关详细信息,请参阅 SQL 托管实例的透明数据加密。
是否可以对 TDE 使用“创建自己的密钥”模型?
是的,适用于 BYOK 的 Azure Key Vault 方案可用于 Azure SQL 托管实例。 有关详细信息,请参阅使用客户管理的密钥进行透明数据加密。
是否可以迁移加密 SQL Server 数据库?
可以。 若要迁移加密 SQL Server 数据库,需要将现有证书导出并导入到 SQL 托管实例中,然后执行完整数据库备份并将其还原到托管实例。
还可以使用 Azure 数据库迁移服务迁移 TDE 加密数据库。
如何为 SQL 托管实例配置 TDE 保护程序轮换?
可以使用 Azure Cloud Shell 为 SQL 托管实例轮换 TDE 保护器。 有关说明,请参阅使用 Azure Key Vault 中自己的密钥在 SQL 托管实例中实现透明数据加密。
是否可将加密的数据库还原到 SQL 托管实例?
可以,无需解密数据库即可将其还原到 SQL 托管实例。 需将一个在源系统中用作加密密钥保护器的证书/密钥提供给 SQL 托管实例,才能从加密的备份文件中读取数据。 要运行此操作有两个可行的方式:
- 将证书保护器上传到 SQL 托管实例。 只能使用 PowerShell 执行此操作。 示例脚本描述了整个过程。
- 将非对称密钥保护器上传到 Azure Key Vault,并将 SQL 托管实例指向该保护器。 此方法类似于自带密钥 (BYOK) TDE 用例,该用例也使用 Key Vault 集成来存储加密密钥。 如果你不想将该密钥用作加密密钥保护器,只想为 SQL 托管实例提供密钥来还原加密的数据库,请按照有关设置 BYOK TDE 的说明进行操作,不要选中“将所选密钥设为默认 TDE 保护器”复选框。
将加密保护器提供给 SQL 托管实例使用后,可以继续执行标准的数据库还原过程。
购买模型和权益
SQL 托管实例有哪些购买模型?
SQL 托管实例提供基于 vCore 的购买模型。
SQL 托管实例有哪些成本权益?
可以通过以下方式使用 Azure SQL 权益节省成本:
- 利用 Azure 混合权益,最大化本地许可证的现有投资并节省高达 55%。
- 通过预留实例权益,承诺保留计算资源,并节省费用多达 33%。 与 Azure 混合权益搭配使用时最多可节省 82%。
- 利用 Azure 开发/测试定价权益(为正在进行的开发和测试工作负载提供折扣费率),可节省费用高达 55%(相对于标价)。
要获得预留实例权益需要符合什么条件?
要获得预留实例权益的资格,订阅类型必须为企业协议(服务编号:MS-AZR-0017P 或 MS-AZR-0148P)或采用即用即付定价的个人协议(服务编号:MS-AZR-0003P 或 MS-AZR-0023P)。 有关预留的详细信息,请参阅预留实例权益。
是否可以对预留执行取消、交换或退款操作?
可以在一定的限制下对预留执行取消、交换或退款操作。 有关详细信息,请参阅 Azure 预留的自助交换和退款。
Azure SQL 托管实例和备份存储计费
SQL 托管实例定价选项有哪些?
若要浏览 SQL 托管实例定价选项,请参阅定价页。
如何跟踪托管实例的账单费用?
可以使用 Microsoft 成本管理解决方案来实现此目的。 在 Azure 门户中,导航到“订阅”,并选择“成本分析” 。
使用“累计成本”选项,然后按“资源类型”(如 microsoft.sql/managedinstances
)进行筛选 。
能否使用 Microsoft 或第三方工具(开发人员及其他工具)访问 SQL 托管实例而无需额外付费?
可以使用兼容的 Microsoft 或第三方客户端工具来访问 SQL 托管实例,并且不会在 Azure 发票上向你收取任何额外费用。 但是,如果某些工具需要许可证,则需要拥有合法许可的软件。 这受你与每个单独的工具制造商签订的单独协议的约束。
自动备份的成本是多少?
不管备份保持期设置如何,都可以获得与购买的预留数据存储空间相等的可用备份存储空间量。 如果备份存储消耗在分配的可用备份存储空间内,则 SQL 托管实例上的自动备份不会产生额外费用,因此是免费的。 超出可用空间的备份存储使用量将导致额外的成本。 有关详细信息,请参阅定价页的备份存储部分。 有关 SQL 托管实例自动备份的更多技术信息,请参阅备份存储消耗量说明。
如何监视备份存储消耗的计费成本?
可以通过 Azure 门户监视备份存储的成本。 有关说明,请参阅监视自动备份的成本。
如何优化托管实例上的备份存储成本?
若要优化备份存储成本,请参阅 SQL 托管实例上的精细备份优化。
有关节省成本的用例
在何处可以找到用例,以及通过 SQL 托管实例可实现的成本节省?
SQL 托管实例案例研究:
为了更好地了解与部署 Azure SQL 托管实例相关的优势、成本和风险,这里还提供佛瑞斯特研究公司的一个研究:Microsoft Azure SQL 托管实例数据库的总体经济影响。
密码策略
对于 SQL 托管实例 SQL 登录名,可应用什么密码策略?
用于 SQL 登录名的 SQL 托管实例密码策略沿袭了 Azure 平台策略,该策略应用于构成保存托管实例的虚拟群集的 VM。 目前不能更改这些设置,因为这些设置由 Azure 定义并由托管实例继承。
重要
Azure 平台可能会更改策略要求,且不会通知依赖于该策略的服务。
当前的 Azure 平台策略是什么?
每个登录名必须在登录时设置其密码,并在达到最长密码期限后更改其密码。
策略 | 安全设置 |
---|---|
最长密码期限 | 42 天 |
最短密码期限 | 一天 |
最短密码长度 | 10 个字符 |
密码必须符合复杂性要求 | Enabled |
是否可以在登录级别禁用 SQL 托管实例中的密码复杂性和过期时间?
是的,可以在登录级别控制 CHECK_POLICY 和 CHECK_EXPIRATION 字段。 可以执行以下 T-SQL 命令来检查当前设置:
SELECT *
FROM sys.sql_logins
之后,可以执行以下操作来修改指定的登录设置:
ALTER LOGIN <login_name> WITH CHECK_POLICY = OFF;
ALTER LOGIN <login_name> WITH CHECK_EXPIRATION = OFF;
(将“test”替换为所需的登录名,并调整策略和过期时间值。)
服务更新
什么是 Azure SQL 数据库和 SQL 托管实例的根 CA 更改?
什么是 SQL 托管实例的计划内维护事件?
Azure 反馈和支持
我可以在哪儿提出对 SQL 托管实例改进的意见?
可以在 SQL 托管实例反馈论坛中针对新的 SQL 托管实例功能投票,或者提出新的改进意见。 这样,你可以为产品开发做出贡献,并帮助我们确定可能的改进的优先级。
如何创建 Azure 支持请求?
要了解如何创建 Azure 支持请求,请参阅如何创建 Azure 支持请求。
2022 年 11 月功能波次
Azure 门户中再也看不到 2022 年 11 月功能波次。 为什么?
2022 年 11 月功能波次引入的更改和功能已整合到大多数实例中,现在为默认可用。 由于注册实例不再需要单独执行操作,因此已从 Azure 门户中删除提及 2022 年 11 月功能波次的选项。
我的实例无法使用 2022 年 11 月功能波次引入的功能。 为什么?
该功能波次对符合条件的子网中的实例可用。 如果看不到新功能,则可能是由于包含你的 SQL 托管实例的子网仍在进行注册流程,暂不符合条件。 子网中未注册该波次的实例会继续在 Azure 门户中看到相应的功能波次页面。
下一代常规用途服务层级升级
我的实例是故障转移组的一部分,当我试图为实例启用下一代常规用途升级时失败了。 为什么?
对于故障转移组内的实例,不支持将服务层级更改为下一代常规用途层或或从下一代常规用途层更改服务层级。 必须先删除故障转移组再修改任一副本,然后在更改生效后重新创建故障转移组。
为什么无法为下一代常规用途 SQL 托管实例启用区域冗余?
下一代常规用途服务层级当前不支持区域冗余。
是否可以为实例池启用下一代常规用途升级?
否,实例池或池中的实例当前不支持下一代常规用途服务层级升级。