练习 - 验证 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

  1. 在本地设备上,打开 Azure Data Studio。 首次打开时,系统会提示你进行连接。

    如果系统提示你启用预览功能,请选择“是”。

    Azure Data Studio 的打开视图的屏幕截图。

    如果看不到此窗口,或者随时要添加其他连接,可在“服务器”栏中选择“新建连接”按钮。 在下面的示例中,还可以预览 SQL Server 连接的呈现方式。 在本练习中,不会连接到 SQL Server。

    介绍如何在 Azure Data Studio 中新建连接的屏幕截图。

  2. 连接到你的 Azure SQL 数据库逻辑服务器。 使用以下值填写“连接详细信息”,然后选择“连接”

    参数
    连接类型 Microsoft SQL Server
    服务器 输入逻辑服务器名称
    身份验证类型 SQL 登录名
    用户名 cloudadmin
    密码 输入 cloudadmin 帐户的密码
    记住密码 选定
    数据库 AdventureWorks
    服务器组 保留为 <Default>
    名称(可选) 留空
  3. 在“连接”选项卡的“服务器”下,现在应可看到你的 Azure SQL 数据库连接。 下图所示的 SQL Server 连接仅用于比较。

    Azure Data Studio 中比较 SQL Server 和 SQL 数据库的屏幕截图。

  4. 在 Azure Data Studio 中运行查询类似于 SSMS。 右键单击数据库或服务器名称,然后选择“新建查询”。

  5. 对于 Azure SQL 数据库,由于你没有获取一个完整的服务器,不支持使用 [DatabaseName] 更改数据库上下文。 必须更改连接,使其专门连接到要在其中运行查询的数据库,或者使用下拉列表。 通过选择 master 旁边的选项更改 AdventureWorks 数据库的上下文,然后运行 SELECT @@VERSION

    在 Azure Data Studio 中查询的屏幕截图。

    本练习的后面部分将深入探讨该结果与你在 SQL Server 中获取的结果不同的原因。

使用 Azure Data Studio 设置快捷的文件访问

建立连接后,可能需要一种快捷的方式来访问脚本和 Jupyter 笔记本。 Jupyter 笔记本是将可运行代码与文本集成的一种方法。 如果你不熟悉 Jupyter 笔记本,很快就会熟悉了。

  1. 在 Azure Data Studio 中,选择“文件”>“打开文件夹”。

    在 Azure Data Studio 中打开文件夹的屏幕截图。

  2. 浏览到你为本练习提取资源的 zip 文件的位置。 如果遵循了先决条件,路径应类似于 C:\Users\<machine-username>\mslearn-azure-sql-fundamentals。 到达该路径后,选择“选择文件夹”。 如果出现提示,请选择“是,我信任作者”。

  3. 接下来,从左侧任务栏中选择“资源管理器”图标,浏览模块中的文件。 该文件夹包含有关 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 的新增内容。

  1. 在 SSMS 中连接到你的 Azure SQL 数据库逻辑服务器(如果尚未连接)。

  2. 右键单击 AdventureWorks 数据库并选择“新建查询”

  3. 执行熟知的系统函数 @@VERSION 来检查你部署的版本。

    SELECT @@VERSION
    

    SELECT @@VERSION 函数结果的屏幕截图。

    结果看起来与 SQL Server 有点不同。 可以说此服务器是没有版本的 Azure SQL。 Azure SQL 数据库包含与 SQL Server 最新版本一致的最新更改。 但是,使用系统函数 @@VERSION 是用于验证是否可“查询”SQL Server 的常用方法。

  4. 根据返回的数字确定 Azure SQL 部署的特定类型:

    • 1:个人或桌面引擎
    • 2:标准
    • 3:企业版
    • 4:Express
    • 5:SQL 数据库
    • 6:SQL 数据仓库
    • 8:SQL 托管实例

    运行以下 T-SQL 命令,查看是否获得预期结果。

    SELECT SERVERPROPERTY('EngineEdition');
    

    Azure SQL 部署的结果的屏幕截图。

    结果为 5,这是合理的,因为你部署的是 Azure SQL 数据库,而不是 SQL 托管实例或 SQL Server Enterprise。 Azure 虚拟机中没有用于 SQL Server 的特殊数字。 该数字对应于你在虚拟机中安装的版本。 Personal 或 Desktop Engine 是早期版本,不再与 SQL Server 一起使用。

  5. 检查目录视图 sys.databasessys.objects。 通常,你可查看这些视图,验证系统数据库的安装和状态,并检查数据库中的系统对象。

    SELECT * FROM sys.databases;
    SELECT * FROM sys.objects;
    

    sys.databases 和 sys.objects 的结果的屏幕截图。

    在第一个结果集中,未列出系统数据库 msdbtempdbmodel。 仅列出 master 和用户数据库。 Azure SQL 逻辑服务器中的 master 数据库与随 SQL Server 一起安装的物理 master 数据库不同。 在 Azure SQL 托管实例中,你将看到与任何 SQL Server 实例相同的常规系统数据库集。

    但是,sys.objects 看起来与常规 SQL Server 实例类似。 示例 AdventureWorksLT 数据库的系统表、内部表和用户对象都是如此。

  6. 鉴于你使用了两个 vCore 模型进行部署,请验证所有计划程序是否都处于联机状态以及你是否在检测预期的可用 CPU。

    SELECT * FROM sys.dm_os_schedulers where STATUS = 'VISIBLE ONLINE';
    

    sys.dm_os_schedulers 的结果的屏幕截图。

    如果有 2 个 vCore 可用于部署了 SQL 数据库的 SQL Server 实例,则两个 VISIBLE ONLINE 计划程序就是你所期望的结果。

  7. 对于 SQL Server 部署,通常可查看 DMV(如 sys.dm_process_memory)来了解 CPU、内存和辅助角色的限制。 Azure SQL 数据库不支持此 DMV,因为用户不会公开或控制支持该数据库的主机的详细信息。 可以使用 DMV sys.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;
    

    显示资源治理限制的结果的屏幕截图。

  8. 查看 SQL Server 部署的常用方法是检查活动请求列表。 与 SQL Server 一样,也可使用 sys.dm_exec_requests 来查看当前正在运行的 SQL 请求。

    SELECT * FROM sys.dm_exec_requests;
    

    显示 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 上的相应笔记本文件中查看结果。