Compartir a través de

Azure SQL Database和Azure SQL Managed Instance连接和查询文章

applies to:Azure SQL DatabaseAzure SQL Managed Instance

以下文档包含指向Azure示例的链接,这些示例演示如何连接和查询Azure SQL Database和Azure SQL Managed Instance。 有关传输级别安全性的相关建议,请参阅数据库连接的 TLS 注意事项

快速入门

快速入门 说明
SQL Server Management Studio (SSMS) 本快速入门演示如何使用 SSMS 连接到数据库,然后使用Transact-SQL语句查询、插入、更新和删除数据库中的数据。
Azure 门户 本快速入门演示如何使用 query 编辑器连接到数据库(仅Azure SQL Database),然后使用Transact-SQL语句查询、插入、更新和删除数据库中的数据。
Visual Studio Code 本快速入门演示如何使用Visual Studio Code连接到数据库,然后使用 Transact-SQL 语句查询、插入、更新和删除数据库中的数据。
.NET 和 Visual Studio 本快速入门演示如何使用 .NET 框架创建包含Visual Studio的 C# 程序以连接到数据库,并使用 Transact-SQL 语句查询数据。
.NET core 本快速入门演示如何在 Windows/Linux/macOS 上使用 .NET Core 创建 C# 程序以连接到数据库,并使用 Transact-SQL 语句查询数据。
去吧 本快速入门演示如何使用 Go 连接到数据库。 还将演示用于查询和修改数据的Transact-SQL语句。
Java 本快速入门演示如何使用Java连接到数据库,然后使用 Transact-SQL 语句来查询数据。
Node.js 本快速入门演示如何使用 Node.js 创建连接到数据库的程序,以及如何使用 Transact-SQL 语句来查询数据。
PHP 本快速入门演示如何使用 PHP 创建连接到数据库的程序,并使用 Transact-SQL 语句来查询数据。
Python 本快速入门演示如何使用Python连接到数据库,并使用 Transact-SQL 语句来查询数据。
Ruby(编程语言) 本快速入门演示如何使用 Ruby 创建连接到数据库的程序,以及如何使用 Transact-SQL 语句来查询数据。

获取服务器连接信息

获取连接到Azure SQL Database中的数据库所需的连接信息。 在后续过程中,将需要完全限定的服务器名称或主机名称、数据库名称和登录信息。

  1. 登录到 Azure 门户

  2. 导航到“SQL 数据库”或“SQL 托管实例”页。

  3. Overview 页面上,查看 Azure SQL Database 中 服务器名称 旁的完全限定服务器名称,或在 Azure SQL 托管实例或 Azure VM 上的 SQL Server 的 Host 旁查看完全限定服务器名称(或 IP 地址)。 若要复制服务器名称或主机名称,请将鼠标悬停在其上方,然后选择“复制”图标。

注意事项

有关 Azure VM 上 SQL Server 的连接信息,请参阅 连接到 SQL Server 实例

获取 ADO.NET连接信息(可选 - 仅限 SQL 数据库)

  1. 导航到 Azure 门户中的数据库窗格,在 Settings 下,选择 Connection 字符串

  2. 查看完整的 ADO.NET 连接字符串。

    截图显示 ADO.NET 连接字符串。

  3. 如果要使用它,请复制 ADO.NET connection string。

数据库连接的 TLS 注意事项

传输层安全性(TLS)由Azure提供或支持连接到Azure SQL Database或Azure SQL Managed Instance中的数据库的所有驱动程序使用。 无需特殊配置。 对于与SQL Server实例的所有连接、Azure Synapse Analytics中的 SQL 池、Azure SQL Database中的数据库或Azure SQL Managed Instance实例,我们建议应用程序设置以下连接参数或其等效参数:

  • Encrypt = On
  • TrustServerCertificate = Off
  • (可选) HostNameInCertificate = full-hostname-of-service 如果客户端使用不同的地址进行连接,并且 TDS 驱动程序支持此选项。

某些系统对于这些配置关键字使用不同但等效的关键字。 这些配置可确保客户端驱动程序验证从服务器收到的 TLS 证书的标识。

如果需要符合支付卡行业 - 数据安全标准 (PCI-DSS),我们还建议你在客户端上禁用 TLS 1.1 和 1.0。

默认情况下,非 Microsoft 驱动程序可能不会使用 TLS。 连接到 Azure SQL Database 或 Azure SQL Managed Instance 时,这可能是一个影响因素。 使用嵌入式驱动程序的应用程序可能不允许你控制这些连接设置。 我们建议你在与敏感数据进行交互的系统上使用此类驱动程序和应用程序之前,检查这些程序的安全性。

软件库

可以使用各种库和框架连接到Azure SQL Database或Azure SQL Managed Instance。 然后,可以使用 SQL Server on Linux 或 Windows 或 Linux 上的SQL Server容器生成应用。

下表列出了客户端应用程序可以使用的连接库或驱动程序,以便通过多种语言连接和使用在本地或云中运行的SQL Server。 可以在 Linux、Windows或容器中使用它们,并使用它们连接到Azure SQL Database、Azure SQL Managed Instance和Azure Synapse Analytics。

语言 平台 其他资源 下载 开始
C# Windows、Linux、macOS Microsoft ADO.NET 用于 SQL Server 和 Azure SQL Database 下载
C++ Windows、Linux、macOS Microsoft ODBC 驱动程序适用于 SQL Server 下载
去吧 Windows、Linux、macOS Microsoft Go 驱动程序用于 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 的 Microsoft 驱动程序 for PHP 下载
Python Windows、Linux、macOS mssql-python 安装
Ruby(编程语言) Windows、Linux、macOS SQL Server 的 Ruby 驱动程序 安装

数据访问框架

下表列出了客户端应用程序可与SQL Server、Azure SQL Database、Azure SQL Managed Instance或Azure Synapse Analytics一起使用的对象关系映射(ORM)框架和 Web 框架的示例。 可以在 Linux、Windows或容器中使用框架。

语言 平台 ORM
C# Windows、Linux、macOS 实体框架
Entity Framework Core
去吧 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