应用程序开发概述 - SQL 数据库和 SQL 托管实例
适用于:Azure SQL 数据库
Azure SQL 托管实例
本文逐步讲解开发人员在编写代码以连接到 Azure 数据库时应考虑的基本注意事项。 本文适用于 Azure SQL 数据库和 Azure SQL 托管实例。
语言和平台
可以使用各种编程语言和平台连接和查询 Azure SQL 数据库。 可以找到可用于连接到数据库的示例应用程序。
你可以利用类似 cheetah、sql-cli、VS Code 的开源工具。 此外,Azure SQL 数据库可与 Microsoft 工具(如 Visual Studio 和 SQL Server Management Studio)配合使用。 还可以使用 Azure 门户、PowerShell 和 REST API 帮助提高工作效率。
身份验证
对 Azure SQL 数据库的访问使用登录名和防火墙进行保护。 Azure SQL 数据库支持 SQL Server 和 Azure Active Directory 身份验证用户和登录名。 Azure Active Directory 登录名仅在 SQL 托管实例中可用。
详细了解管理数据库访问和登录名。
客户端连接
在客户端连接逻辑中,将默认超时替换为 30 秒。 默认值 15 秒对于依赖于 Internet 的连接而言太短。
如果在使用 连接池,请确保在程序不活跃地使用连接时将其关闭,而不是准备重用它。
避免长时间运行的事务,因为任何基础结构或连接故障可能会使事务回滚。 如果可能,将事务拆分为多个较小事务,并使用批处理改进性能。
可以使用以下语言将应用程序连接到 Azure SQL 资源:
可以对 Azure SQL 资源配置 Azure AD 身份验证。 有关详细信息,请查看下列文章:
- 使用 Azure AD 身份验证和 SqlClient 连接到 Azure SQL
- 使用 Azure AD 中用于 Azure SQL 的托管标识
- 使用托管标识从 .NET 应用服务连接到 SQL 数据库,而无需使用机密
复原能力
Azure SQL 数据库是一种云服务,在其中可能会遇到在底层基础结构中或云实体之间的通信中发生的暂时性错误。 尽管 Azure SQL 数据库在发生暂时性基础结构故障时可复原,但这些故障可能会影响连接。 如果在连接到 SQL 数据库时发生暂时性错误,代码应重试调用。 建议让重试逻辑使用退让逻辑,这样就不会因为多个客户端同时重试而对该服务造成混乱。 重试逻辑取决于 SQL 数据库客户端程序的错误消息。
有关如何为 Azure SQL 数据库上的计划内维护事件做好准备的详细信息,请参阅规划 Azure SQL 数据库中的 Azure 维护事件。
网络注意事项
- 在托管客户端程序的计算机上,确保防火墙允许端口 1433 上的传出 TCP 通信。 详细信息:配置 Azure SQL 数据库防火墙。
- 客户端在 Azure 虚拟机 (VM) 上运行时,如果客户端程序连接到 SQL 数据库,则必须打开 VM 上的某些端口范围。 详细信息:用于 ADO.NET 4.5 和 SQL 数据库的非 1433 端口。
- 与 Azure SQL 数据库建立的客户端连接有时会绕过代理直接与数据库交互。 除 1433 以外的端口变得非常重要。 有关详细信息,请参阅 Azure SQL 数据库连接体系结构和用于 ADO.NET 4.5 和 SQL 数据库的非 1433 端口。
- 有关 SQL 托管实例的实例网络配置,请参阅 SQL 托管实例的网络配置。
后续步骤
开始之前,请参阅 Azure SQL 数据库和 Azure SQL 托管实例的相关指南信息。