练习 - 验证 Azure SQL 数据库
了解 Azure SQL 在 SQL Server Management Studio (SSMS) 中的显示方式之后,可以了解名为 Azure Data Studio 的开放源代码工具。 Azure Data Studio 提供了轻型编辑器和其他工具,用于与 Azure 数据服务(如本地 SQL Server、Azure SQL、Azure Database for PostgreSQL)进行交互。 简单了解一下。
连接 Azure Data Studio
在本地设备上,打开 Azure Data Studio。 首次打开时,系统会提示你进行连接。
如果系统提示你启用预览功能,请选择“是”。
如果看不到此窗口,或者随时要添加其他连接,可在“服务器”栏中选择“新建连接”按钮。 在下面的示例中,还可以预览 SQL Server 连接的呈现方式。 在本练习中,不会连接到 SQL Server。
连接到你的 Azure SQL 数据库逻辑服务器。 使用以下值填写“连接详细信息”,然后选择“连接”。
参数 值 连接类型 Microsoft SQL Server 服务器 输入逻辑服务器名称 身份验证类型 SQL 登录名 用户名 cloudadmin 密码 输入 cloudadmin 帐户的密码 记住密码 选定 数据库 AdventureWorks 服务器组 保留为 <Default>
名称(可选) 留空 在“连接”选项卡的“服务器”下,现在应可看到你的 Azure SQL 数据库连接。 下图所示的 SQL Server 连接仅用于比较。
在 Azure Data Studio 中运行查询类似于 SSMS。 右键单击数据库或服务器名称,然后选择“新建查询”。
对于 Azure SQL 数据库,由于你没有获取一个完整的服务器,不支持使用 [DatabaseName] 更改数据库上下文。 必须更改连接,使其专门连接到要在其中运行查询的数据库,或者使用下拉列表。 通过选择
master
旁边的选项更改AdventureWorks
数据库的上下文,然后运行SELECT @@VERSION
。本练习的后面部分将深入探讨该结果与你在 SQL Server 中获取的结果不同的原因。
使用 Azure Data Studio 设置快捷的文件访问
建立连接后,可能需要一种快捷的方式来访问脚本和 Jupyter 笔记本。 Jupyter 笔记本是将可运行代码与文本集成的一种方法。 如果你不熟悉 Jupyter 笔记本,很快就会熟悉了。
在 Azure Data Studio 中,选择“文件”>“打开文件夹”。
浏览到你为本练习提取资源的 zip 文件的位置。 如果遵循了先决条件,路径应类似于 C:\Users\<machine-username>\mslearn-azure-sql-fundamentals。 到达该路径后,选择“选择文件夹”。 如果出现提示,请选择“是,我信任作者”。
接下来,从左侧任务栏中选择“资源管理器”图标,浏览模块中的文件。 该文件夹包含有关 Azure SQL 基础知识的学习路径所需的一切资源,因此你只需下载并配置此信息一次即可。
整个模块和学习路径练习将介绍如何在不同的点上打开笔记本文件(文件扩展名:.ipynb)。 你可以直接从此处访问笔记本。 或者可从“笔记本”图标选项卡访问它。
验证部署
部署 SQL 实例后,通常会运行查询来验证部署。 在 Azure SQL 中,有些查询与 SQL Server 中的不同。 在此步骤中,你将了解哪些内容会更改 SQL Server、更改方式以及新增功能。
可通过两个选项完成此练习:
- SSMS 中的 T-SQL
- Azure Data Studio 中的 SQL 笔记本
这两个练习都包含相同的命令和内容,因此你可选择所需的选项。
选项 1:SSMS 中的 T-SQL
在此选项中,你将演练一些针对系统函数、动态管理视图 (DMV) 和目录视图的常见查询,这些查询可在 SSMS 中部署后使用。 你将看到哪些任务与 SQL Server 的工作方式相同,哪些不同,哪些是 Azure SQL 的新增内容。
在 SSMS 中连接到你的 Azure SQL 数据库逻辑服务器(如果尚未连接)。
右键单击
AdventureWorks
数据库并选择“新建查询”。执行熟知的系统函数
@@VERSION
来检查你部署的版本。SELECT @@VERSION
结果看起来与 SQL Server 有点不同。 可以说此服务器是没有版本的 Azure SQL。 Azure SQL 数据库包含与 SQL Server 最新版本一致的最新更改。 但是,使用系统函数
@@VERSION
是用于验证是否可“查询”SQL Server 的常用方法。根据返回的数字确定 Azure SQL 部署的特定类型:
- 1:个人或桌面引擎
- 2:标准
- 3:企业版
- 4:Express
- 5:SQL 数据库
- 6:SQL 数据仓库
- 8:SQL 托管实例
运行以下 T-SQL 命令,查看是否获得预期结果。
SELECT SERVERPROPERTY('EngineEdition');
结果为 5,这是合理的,因为你部署的是 Azure SQL 数据库,而不是 SQL 托管实例或 SQL Server Enterprise。 Azure 虚拟机中没有用于 SQL Server 的特殊数字。 该数字对应于你在虚拟机中安装的版本。 Personal 或 Desktop Engine 是早期版本,不再与 SQL Server 一起使用。
检查目录视图
sys.databases
和sys.objects
。 通常,你可查看这些视图,验证系统数据库的安装和状态,并检查数据库中的系统对象。SELECT * FROM sys.databases; SELECT * FROM sys.objects;
在第一个结果集中,未列出系统数据库
msdb
、tempdb
和model
。 仅列出master
和用户数据库。 Azure SQL 逻辑服务器中的master
数据库与随 SQL Server 一起安装的物理master
数据库不同。 在 Azure SQL 托管实例中,你将看到与任何 SQL Server 实例相同的常规系统数据库集。但是,
sys.objects
看起来与常规 SQL Server 实例类似。 示例AdventureWorksLT
数据库的系统表、内部表和用户对象都是如此。鉴于你使用了两个 vCore 模型进行部署,请验证所有计划程序是否都处于联机状态以及你是否在检测预期的可用 CPU。
SELECT * FROM sys.dm_os_schedulers where STATUS = 'VISIBLE ONLINE';
如果有 2 个 vCore 可用于部署了 SQL 数据库的 SQL Server 实例,则两个
VISIBLE ONLINE
计划程序就是你所期望的结果。对于 SQL Server 部署,通常可查看 DMV(如
sys.dm_process_memory
)来了解 CPU、内存和辅助角色的限制。 Azure SQL 数据库不支持此 DMV,因为用户不会公开或控制支持该数据库的主机的详细信息。 可以使用 DMVsys.dm_user_db_resource_governance
来查看已部署 SQL 数据库的容量和限制。 还可使用 Azure SQL 托管实例中的sys.dm_instance_resource_governance
。运行并查看以下查询结果。 将结果与你的已部署层记录的定价层和限制进行比较。
slo_name
是服务级别目标 (SLO),其中指出了部署选项、服务层、硬件和计算量。 此外,由于 Azure SQL 数据库使用 Windows 作业对象来实施其他资源限制(如内存),因此可以使用sys.dm_os_job_object
DMV 查看可用于部署的资源。SELECT * FROM sys.dm_user_db_resource_governance;
查看 SQL Server 部署的常用方法是检查活动请求列表。 与 SQL Server 一样,也可使用
sys.dm_exec_requests
来查看当前正在运行的 SQL 请求。SELECT * FROM sys.dm_exec_requests;
将
sys.dm_exec_requests
用于 Azure SQL 数据库与将其用于 SQL Server 或 SQL 托管实例是不同的。 此 DMV 只显示与你的数据库相关的活动请求,包括后台任务或没有显示为master
的数据库上下文的后台任务。 此行为是因为 Azure SQL 数据库部署的性质。
选项 2:Azure Data Studio 中的 SQL 笔记本
对于此选项,使用笔记本 VerifyDeployment.ipynb。 它位于 GitHub 存储库或先前下载的 zip 文件中的 02-DeployAndConfigure\verifydeployment\VerifyDeployment.ipynb 下。 在 Azure Data Studio 中浏览到该文件以完成此部分练习,然后返回此处。 在同一文件夹中,还可找到包含 Azure SQL 托管实例和 SQL Server 2019 上相同查询的结果的额外笔记本。
如果出于任何原因无法完成练习,可在 GitHub 上的相应笔记本文件中查看结果。