快速入门:使用 SQL Server Management Studio (SSMS) 连接和查询 Azure SQL 数据库或 Azure SQL 托管实例

适用于:Azure SQL 数据库

开始使用 SQL Server Management Studio (SSMS) 连接到 Azure SQL 数据库并运行一些 Transact-SQL (T-SQL) 命令。

注释

虽然 Microsoft Entra ID 是 Azure Active Directory (Azure AD) 的新名称,但为了防止中断现有环境,Azure AD 仍保留在一些硬编码的元素中,例如 UI 字段、连接提供程序、错误代码和 cmdlet。 在本文中,这两个名称是可互换的。

本文演示以下步骤:

  • 连接到 Azure SQL 数据库
  • 创建数据库
  • 在新数据库中创建表
  • 在新表中插入行
  • 查询新表并查看结果
  • 使用查询窗口表验证连接属性

先决条件

连接到 Azure SQL 数据库或 Azure SQL 托管实例

注释

18.6 之前的 SSMS 版本不会通过 Microsoft Entra 多重身份验证(MFA)向数据库引擎进行身份验证。 若要继续使用 MFA,需要 SSMS 18.6 或更高版本

要通过 Microsoft Entra 多重身份验证连接到 Azure Analysis Services,需要使用 SSMS 18.5.1 或更高版本

  1. 启动 SQL Server Management Studio (SSMS)。 首次运行 SSMS 时,“连接到服务器” 窗口随即打开。 如果未打开,可以通过选择 对象资源管理器>连接>数据库引擎来手动打开它。

    对象资源管理器中的连接链接的屏幕截图。

  2. 将出现“连接到服务器”对话框。 输入以下信息:

    设置 建议值 详细信息
    服务器类型 数据库引擎 选择“数据库引擎”(通常为默认选项)。
    服务器名称 完全限定的服务器名称 输入 Azure SQL 数据库的名称或 Azure SQL 托管实例名称。
    身份验证
    Microsoft Entra ID 1
    - 使用 MFA 的通用方法 请参阅使用 Microsoft Entra 多重身份验证
    - 密码
    - 集成
    - 服务主体
    请参阅使用 Azure SQL 的 Microsoft Entra 服务主体
    - 托管标识 请参阅Microsoft Entra 中用于 Azure SQL 的托管标识

    使用托管标识通过 SSMS 连接到 SQL 实例需要 Azure VM。 请参阅使用 Windows VM 系统分配托管标识访问 Azure SQL
    -违约 使用任何无密码和非交互的 Microsoft Entra 身份验证模式进行连接时,可以使用默认选项。
    SQL Server 身份验证 使用 SQL Server 身份验证连接到 Azure SQL。
    登录 服务器帐户用户 ID 用于创建服务器的服务器帐户中的用户 ID。
    密码 服务器帐户密码 用于创建服务器的服务器帐户的密码。
    加密2 加密方法 选择连接的加密级别。 默认值为Mandatory
    信任服务器证书 信任服务器证书 选中此选项可绕过服务器证书验证。 默认值为 False(未选中),这将使用受信任的证书提升更好的安全性。
    证书中的主机名 服务器的主机名 此选项中提供的值用于在服务器证书中指定不同但符合预期的 CN 或 SAN。

    1 Azure SQL 不支持 Windows 身份验证方法。 有关详细信息,请参阅 Azure SQL 身份验证

    2 SSMS 20 中的默认值为“强制”。 对 Azure SQL 数据库和 Azure SQL 托管实例应使用严格的(SQL Server 2022 和 Azure SQL) 加密。 当实例启用了“强制严格加密”时,可以将“严格(SQL Server 2022 和 Azure SQL)”加密用于 SQL Server。 在 SQL Server Management Studio 21 中,这称为“严格”(最低 SQL Server 2022 和 Azure SQL)。

    还可以通过选择 选项来修改其他连接选项。 连接选项的示例包括要连接到的数据库、连接超时值和网络协议。 本文对所有选项使用默认值。

    Azure SQL 的连接对话框的屏幕截图。

  3. 完成所有字段后,选择 连接

    如果尚未设置防火墙设置,则会显示配置防火墙的提示。 登录后,填写 Azure 帐户登录信息并继续设置防火墙规则。 然后选择确定。 此提示是一次性操作。 配置防火墙后,不应显示防火墙提示。

    Azure SQL“新建防火墙规则”的屏幕截图。

  4. 若要验证 Azure SQL 数据库或 Azure SQL 托管实例连接是否成功,请展开并浏览“对象资源管理器”中显示服务器名称、SQL Server 版本和用户名的对象。 这些对象因服务器类型而异。

    连接到 Azure SQL 数据库的屏幕截图。

解决连接问题

如果将 Microsoft Entra 与 MFA 配合使用时浏览器无法连接到 SQL 数据库,可以导航到“工具”>“选项”“Azure 云”>,并更改“使用系统默认的 Web 浏览器”或“使用 Web 帐户管理器”的值。 有关更多信息,请参阅选项(Azure 服务)

使用 Azure SQL 数据库时,可能会遇到连接问题。 有关排查连接问题的详细信息,请访问排查连接问题

你可以防止、排查、诊断和缓解在与 Azure SQL 数据库或 Azure SQL 托管实例交互时发生的连接错误和暂时性错误。 有关详细信息,请访问排查暂时性连接错误

创建数据库

现在,让我们按照以下步骤创建名为 TutorialDB 的数据库:

  1. 在对象资源管理器中右键单击服务器实例,然后选择“新建查询”

    显示“新建查询”链接的屏幕截图。

  2. 将以下 T-SQL 代码片段粘贴到查询窗口中:

    IF NOT EXISTS (
       SELECT name
       FROM sys.databases
       WHERE name = N'TutorialDB'
    )
    CREATE DATABASE [TutorialDB];
    GO
    
    ALTER DATABASE [TutorialDB]
    SET QUERY_STORE = ON;
    GO
    
  3. 通过在键盘上选择 执行 或选择 F5 来执行查询。

    显示“执行”命令的屏幕截图。

    查询完成后,新的 TutorialDB 数据库将显示在对象资源管理器中的数据库列表中。 如果未显示,请右键单击 数据库 节点,然后选择 刷新

在新数据库中创建表

在本部分中,将在新建的 TutorialDB 数据库中创建表。 由于查询编辑器仍位于 master 数据库的上下文中,因此请按照以下步骤将连接上下文切换到 TutorialDB 数据库:

  1. 在数据库下拉列表中,选择所需的数据库,如下所示:

    显示如何更改数据库的屏幕截图。

  2. 将以下 T-SQL 代码片段粘贴到查询窗口中:

    USE [TutorialDB];
    GO
    
    -- Create a new table called 'Customers' in schema 'dbo'
    -- Drop the table if it already exists
    IF OBJECT_ID('dbo.Customers', 'U') IS NOT NULL
        DROP TABLE dbo.Customers;
    GO
    
    -- Create the table in the specified schema
    CREATE TABLE dbo.Customers (
        CustomerId INT NOT NULL PRIMARY KEY, -- primary key column
        Name NVARCHAR(50) NOT NULL,
        Location NVARCHAR(50) NOT NULL,
        Email NVARCHAR(50) NOT NULL
    );
    GO
    
  3. 通过在键盘上选择 执行 或选择 F5 来执行查询。

查询完成后,新的 Customers 表将显示在对象资源管理器中的表列表中。 如果未显示表,请在对象资源管理器中右键单击 TutorialDB> 节点,然后选择 刷新

显示“新建表”的屏幕截图。

将行插入新表

现在,让我们在创建的 Customers 表中插入一些行。 将以下 T-SQL 代码片段粘贴到查询窗口中,然后选择 执行

-- Insert rows into table 'Customers'
INSERT INTO dbo.Customers (
    [CustomerId],
    [Name],
    [Location],
    [Email]
)
VALUES
   (1, N'Orlando', N'Australia', N''),
   (2, N'Keith', N'India', N'keith0@adventure-works.com'),
   (3, N'Donna', N'Germany', N'donna0@adventure-works.com'),
   (4, N'Janet', N'United States', N'janet1@adventure-works.com');
GO

查询表并查看结果

查询的结果显示在查询文本窗口下。 若要查询 Customers 表并查看插入的行,请执行以下步骤:

  1. 将以下 T-SQL 代码片段粘贴到查询窗口中,然后选择 执行

    -- Select rows from table 'Customers'
    SELECT * FROM dbo.Customers;
    

    查询结果显示在输入文本的区域下。

    显示“结果”列表的屏幕截图。

    还可以通过选择以下选项之一来修改结果呈现方式:

    显示查询结果的三个选项的屏幕截图。

    • 第一个按钮显示 文本视图中的结果,如下图所示。
    • 中间按钮在 网格视图中显示结果,这是默认选项。
    • 第三个按钮允许将结果保存到扩展名为 .rpt 的文件中。

使用查询窗口表验证连接属性

可以在查询结果下找到有关连接属性的信息。 在上一步中运行前面提到的查询后,请查看查询窗口底部的连接属性。

  • 可以确定连接到哪个服务器和数据库,以及用户名。

  • 此外,还可以查看查询持续时间和之前执行的查询所返回的行数。

    连接属性的屏幕截图。

其他工具

也可以使用 Azure Data Studio 连接和查询 SQL ServerAzure SQL 数据库Azure Synapse Analytics