快速入门:使用 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 托管实例
注意
2021 年 12 月,18.6 之前的 SSMS 版本将不再通过 Microsoft Entra 多重身份验证 (MFA) 对数据库引擎进行身份验证。 若要继续使用 MFA,需要 SSMS 18.6 或更高版本。
通过 Microsoft Entra 多重身份验证连接 Azure Analysis Services 需要 SSMS 18.5.1 或更高版本。
启动 SQL Server Management Studio (SSMS)。 首次运行 SSMS 时,系统将打开“连接到服务器”窗口。 如未打开,可以选择“对象资源管理器”>“连接”>“数据库引擎”,将其手动打开。
此时会显示“连接到服务器”对话框。 输入以下信息:
设置 建议的值 详细信息 服务器类型 数据库引擎 选择“数据库引擎”(通常为默认选项)。 服务器名称 完全限定的服务器名称 输入 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- Default 使用任何无密码和非交互的 Microsoft Entra 身份验证模式进行连接时,可以使用默认选项。 SQL Server 身份验证 使用 Azure SQL 的 SQL Server 身份验证进行连接。 登录名 服务器帐户用户 ID 用于创建服务器的服务器帐户的用户 ID。 密码 服务器帐户密码 用于创建服务器的服务器帐户的密码。 加密 2 加密方法 选择连接的加密级别。 默认值为“强制”。 信任服务器证书 信任服务器证书 选中此选项以绕过服务器证书验证。 默认值为 False(未选中),使用受信任的证书提高安全性。 证书中的主机名 服务器的主机名 可使用此选项中提供的值在服务器证书中指定不同但预期的 CN 或 SAN。 1 Azure SQL 不支持 Windows 身份验证方法。 有关详细信息,请参阅 Azure SQL 身份验证。
2 SSMS 20 中的默认值为“强制”。 Azure SQL 数据库和 Azure SQL 托管实例应使用“严格(SQL Server 2022 和 Azure SQL)”加密。 如果实例启用了“强制严格加密”,则 SQL Server 可使用“严格(SQL Server 2022 和 Azure SQL)”加密。
也可以通过选择“选项”来修改其他连接选项。 连接选项的示例包括你要连接到的数据库、连接超时值和网络协议。 本文对所有选项使用默认值。
完成所有字段后,选择“连接”。
如果尚未设置防火墙设置,则会显示配置防火墙的提示。 登录后,填写 Azure 帐户登录信息并继续设置防火墙规则。 然后选择“确定”。 此提示是一次性操作。 配置防火墙后,不应显示防火墙提示。
若要验证 Azure SQL 数据库或 Azure SQL 托管实例连接是否成功,请展开并浏览“对象资源管理器”中显示服务器名称、SQL Server 版本和用户名的对象。 这些对象因服务器类型而异。
解决连接问题
如果将 Microsoft Entra 与 MFA 配合使用时浏览器无法连接到 SQL 数据库,可以导航到“工具”>“选项”“Azure 云”>,并更改“使用系统默认的 Web 浏览器”或“使用 Web 帐户管理器”的值。 有关更多信息,请参阅选项(Azure 服务)。
使用 Azure SQL 数据库时,可能会遇到连接问题。 有关排查连接问题的详细信息,请访问排查连接问题。
你可以防止、排查、诊断和缓解在与 Azure SQL 数据库或 Azure SQL 托管实例交互时发生的连接错误和暂时性错误。 有关详细信息,请访问排查暂时性连接错误。
创建数据库
现在,让我们按照以下步骤,创建一个名为 TutorialDB 的数据库:
在“对象资源管理器”中右键单击服务器实例,然后选择“新建查询”:
将以下 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
通过选择“执行”或选择键盘上的 F5 来执行查询。
查询完成后,新的 TutorialDB 数据库会显示在“对象资源管理器”内的数据库列表中。 如未显示,请右键单击“数据库”节点,然后选择“刷新”。
在新数据库中创建表
本部分中将在新创建的 TutorialDB 数据库中创建一个表。 由于查询编辑器仍处于 master 数据库的上下文中,因此请按以下步骤操作,将连接上下文切换到 TutorialDB 数据库master
:
在数据库下拉列表中,选择所需数据库,如下所示:
将以下 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
通过选择“执行”或选择键盘上的 F5 来执行查询。
查询完成后,新的“客户”表会显示在对象资源管理器内的表列表中。 如果表未显示,请右键单击“对象资源管理器”中的“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
表并查看插入的行,请按照以下步骤进行操作:
将以下 T-SQL 代码片段粘贴到查询窗口并选择“执行”:
-- Select rows from table 'Customers' SELECT * FROM dbo.Customers;
查询结果显示在文本输入区域下。
你还可以通过选择以下选项之一来修改结果的显示方式:
- 第一个按钮将在“文本视图”中显示结果,如下一部分中的图像所示。
- 中间的按钮采用“网格视图”显示结果,这是默认选项。
- 第三个按钮可将结果保存为默认扩展名是 .rpt 的文件。
使用查询窗口表验证连接属性
在查询结果下,可以找到有关连接属性的信息。 在运行前一步骤中的上述查询后,查看查询窗口底部的连接属性。
其他工具
也可以使用 Azure Data Studio 连接和查询 SQL Server、Azure SQL 数据库和 Azure Synapse Analytics。