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

适用于: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 数据库

注释

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

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

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

  2. 此时会显示“ 连接到服务器 ”对话框。 输入以下信息:

    设置 建议值 详细信息
    服务器类型 数据库引擎 选择 数据库引擎 (通常是默认选项)。
    服务器名称 完全限定的服务器名称 输入您的 Azure SQL 数据库逻辑服务器名称
    身份验证
    Microsoft Entra ID1
    -密码
    -综合
    - MFA
    建议将微软Entra身份验证与多重身份验证(MFA)一起使用。 请参阅 使用 Microsoft Entra 多重身份验证
    - 服务主体 请参阅 与 Azure SQL 一起使用的 Microsoft Entra 服务主体
    - 托管身份 请参阅 Microsoft Entra 中的 Azure SQL 的托管身份

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

    1 Azure SQL 不支持 Windows 身份验证方法。 有关详细信息,请参阅 Azure SQL 身份验证。 建议将微软Entra身份验证与多重身份验证(MFA)一起使用。

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

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

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

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

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

    SSMS 中“创建新防火墙规则”对话框的屏幕截图。

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

    对象资源管理器中与 Azure SQL 数据库的连接屏幕截图。

解决连接故障问题

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

  • 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
    
  3. 通过在键盘上选择 “执行 ”或“F5”来执行查询。

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

在新数据库中创建表

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

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

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

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

    -- 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 表将显示在 对象资源管理器中的表列表中。 如果未显示该表,请右键单击对象资源管理器中的 >节点,然后选择“刷新”。

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

将行插入到新表中

现在,让我们在您创建的 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 表并查看插入的行,请将以下 T-SQL 代码片段粘贴到查询窗口中,然后选择“ 执行” :

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

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

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

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

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

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

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

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

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

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

    连接属性的屏幕截图。

清理资源

TutorialDB在本快速入门中创建的数据库不是免费提供的数据库。 让我们将其删除。 粘贴以下 T-SQL 代码并 执行

IF EXISTS (SELECT name
           FROM sys.databases
           WHERE name = N'TutorialDB')
    DROP DATABASE [TutorialDB];
GO