你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure SQL 数据库和 Azure SQL 托管实例连接和查询文章
适用于: Azure SQL 数据库 Azure SQL 托管实例
以下文档包含 Azure 示例的链接,演示如何连接和查询 Azure SQL 数据库以及 Azure SQL 托管实例。 有关传输级别安全性的相关建议,请参阅数据库连接的 TLS 注意事项。
观看 Azure SQL 数据库 Essentials 系列中的此视频,大致了解连接和查询:
快速入门
快速入门 | 说明 |
---|---|
SQL Server Management Studio | 本快速入门演示如何使用 SSMS 连接到数据库,并使用 Transact-SQL 语句在数据库中查询、插入、更新和删除数据。 |
Azure Data Studio | 本快速入门演示如何使用 Azure Data Studio 连接到数据库,然后使用 Transact-SQL (T-SQL) 语句创建在 Azure Data Studio 教程中使用的 TutorialDB 。 |
Azure 门户 | 本快速入门演示如何使用查询编辑器连接到数据库(仅限 Azure SQL 数据库),然后使用 Transact-SQL 语句在数据库中查询、插入、更新和删除数据。 |
Visual Studio Code | 本快速入门演示如何使用 Visual Studio Code 连接到数据库,并使用 Transact-SQL 语句在数据库中查询、插入、更新和删除数据。 |
将 .NET 与 Visual Studio 配合使用 | 本快速入门演示如何使用 .NET framework 与 Visual Studio 来创建连接到数据库的 C# 程序,并使用 Transact-SQL 语句查询数据。 |
.NET Core | 本快速入门演示如何在 Windows/Linux/macOS 中使用 .NET Core 创建连接到数据库的 C# 程序,并使用 Transact-SQL 语句查询数据。 |
Go | 本快速入门演示如何使用 Go 连接到数据库。 此外演示了用于查询和修改数据的 Transact-SQL 语句。 |
Java | 本快速入门演示如何使用 Java 连接到数据库,并使用 Transact-SQL 语句查询数据。 |
Node.js | 本快速入门演示如何使用 Node.js 创建连接到数据库的程序,并使用 Transact-SQL 语句查询数据。 |
PHP | 本快速入门演示如何使用 PHP 创建连接到数据库的程序,并使用 Transact-SQL 语句来查询数据。 |
Python | 本快速入门演示如何使用 Python 连接到 Azure SQL 数据库,并使用 Transact-SQL 语句查询数据。 |
Ruby | 本快速入门演示如何使用 Ruby 创建连接到数据库的程序,并使用 Transact-SQL 语句查询数据。 |
获取服务器连接信息
获取连接到 Azure SQL 数据库中的数据库所需的连接信息。 在后续过程中,将需要完全限定的服务器名称或主机名称、数据库名称和登录信息。
登录 Azure 门户。
导航到“SQL 数据库”或“SQL 托管实例”页。
在“概述”页上,在“Server 名称”旁查看 Azure SQL 数据库中的数据库的完全限定服务器名称,或在“Host”旁边查看 Azure VM 上 Azure SQL 托管实例中或 SQL Server 的完全限定服务器名称(或 IP 地址) 。 若要复制服务器名称或主机名称,请将鼠标悬停在其上方,然后选择“复制”图标。
注意
有关 Azure VM 上的 SQL Server 的连接信息,请参阅连接到 SQL Server 实例。
获取 ADO.NET 连接信息(可选 - 仅限 SQL 数据库)
导航到 Azure 门户中的“数据库”窗格,在“设置”下选择“连接字符串”。
查看完整的 ADO.NET 连接字符串。
如果想要使用 ADO.NET 连接字符串,请复制它。
数据库连接的 TLS 注意事项
Microsoft 提供或支持的所有驱动程序使用传输层安全性 (TLS) 连接到 Azure SQL 数据库中的数据库或 Azure SQL 托管实例。 无需特殊配置。 对于到 SQL Server 实例、Azure SQL 数据库中的数据库,或 Azure SQL 托管实例的实例的所有连接,我们建议所有应用程序设置以下配置或其等效项:
- Encrypt = On
- TrustServerCertificate = Off
某些系统对于这些配置关键字使用不同但等效的关键字。 这些配置可确保客户端驱动程序验证从服务器收到的 TLS 证书的标识。
如果需要符合支付卡行业 - 数据安全标准 (PCI-DSS),我们还建议你在客户端上禁用 TLS 1.1 和 1.0。
默认情况下,非 Microsoft 驱动程序可能不会使用 TLS。 连接到 Azure SQL 数据库或 Azure SQL 托管实例时,这可能是一个因素。 使用嵌入式驱动程序的应用程序可能不允许你控制这些连接设置。 我们建议你在与敏感数据进行交互的系统上使用此类驱动程序和应用程序之前,检查这些程序的安全性。
库
可以使用各种库和框架连接到 Azure SQL 数据库或 Azure SQL 托管实例。 然后可以使用 Linux 或 Windows 上的 SQL Server 或 Linux 上的 SQL Server 容器生成一个应用。
下表列出的连接库或驱动程序可供客户端应用程序用于通过多种语言连接到在本地或云中运行的 SQL Server 并使用该 SQL Server。 可以在 Linux、Windows 上或容器中使用它们,并将其用于连接到 Azure SQL 数据库、Azure SQL 托管实例和 Azure Synapse Analytics。
语言 | 平台 | 其他资源 | 下载 | 入门 |
---|---|---|---|---|
C# | Windows、Linux、macOS | 用于 SQL Server 的 Microsoft ADO.NET | 下载 | |
C++ | Windows、Linux、macOS | Microsoft ODBC Driver for SQL Server | 下载 | |
Go | Windows、Linux、macOS | Microsoft Go Driver for SQL Server | 安装 | 入门 |
Java | Windows、Linux、macOS | 用于 SQL Server 的 Microsoft JDBC 驱动程序 | 下载 | |
Node.js | Windows、Linux、macOS | 用于 SQL Server 的 Node.js 驱动程序 | 安装 | |
PHP | Windows、Linux、macOS | 用于 SQL Server 的 PHP SQL 驱动程序 | 下载 | |
Python | Windows、Linux、macOS | Python SQL 驱动程序 | 安装选项: * pymssql * pyodbc |
|
Ruby | Windows、Linux、macOS | 用于 SQL Server 的 Ruby 驱动程序 | 安装 |
数据访问框架
下表列出了客户端应用程序可以与 SQL Server、Azure SQL 数据库、Azure SQL 托管实例或 Azure Synapse Analytics 一起使用的对象关系映射 (ORM) 框架和 Web 框架的示例。 可以在 Linux、Windows 上或容器中使用这些框架。
语言 | 平台 | ORM |
---|---|---|
C# | Windows、Linux、macOS | 实体框架 Entity Framework Core |
Go | Windows、Linux、macOS | GORM |
Java | Windows、Linux、macOS | Hibernate ORM |
Node.js | Windows、Linux、macOS | Sequelize ORM |
PHP | Windows、Linux、macOS | Laravel (Eloquent) Doctrine |
Python | Windows、Linux、macOS | Django |
Ruby | Windows、Linux、macOS | Ruby on Rails |
后续步骤
- 有关连接体系结构信息,请参阅 Azure SQL 数据库连接体系结构。
- 查找用于从客户端应用程序进行连接的 SQL Server 驱动程序。
- 连接到 Azure SQL 数据库或 Azure SQL 托管实例:
- 使用 .NET (C#) 进行连接和查询
- 使用 Go 进行连接和查询
- 使用 Java 进行连接和查询
- 使用 Node.js 进行连接和查询
- 使用 PHP 进行连接和查询
- 使用 Python 进行连接和查询
- 使用 Ruby 进行连接和查询
- 在 linux 上安装适用于 linux 用户的 sqlcmd 和 bcp SQL Server 命令行工具。请尝试使用 Sqlcmd 连接到 Azure SQL 数据库或 Azure SQL 托管实例。
- 重试逻辑代码示例: