練習 - 驗證 Azure SQL Database

已完成

現在您已了解 Azure SQL 在 SQL Server Management Studio (SSMS) 中的顯示情形,您可以探索稱為 Azure Data Studio 的開放原始碼工具。 Azure Data Studio 提供輕量型編輯器與其他工具,可用來與 Azure 資料服務互動 (例如內部部署 SQL Server、Azure SQL 和適用於 PostgreSQL 的 Azure 資料庫)。 進行簡短的導覽加以熟悉。

使用 Azure Data Studio 連線

  1. 在本機裝置上,開啟 Azure Data Studio。 第一次開啟時,系統會提示建立連線。

    若系統提示啟用預覽功能,請選取 [是]

    開啟 Azure Data Studio 檢視的螢幕擷取畫面。

    若您沒有看到此視窗,或隨時要新增其他連線,您可在 [伺服器] 列中選取 [新增連線] 按鈕。 在下列範例中,您也會取得 SQL Server 連線的外觀預覽。 在本練習中,您不會連線至 SQL Server。

    如何在 Azure Data Studio 中建立新連線的螢幕擷取畫面。

  2. 連線至 Azure SQL Database 邏輯伺服器。 使用下列值完成 [連線詳細資料],然後選取 [連線]

    參數
    連線類型 Microsoft SQL Server
    Server 輸入您的邏輯伺服器名稱
    驗證類型 SQL 登入
    使用者名稱 cloudadmin
    密碼 輸入 cloudadmin 帳戶的密碼
    記住密碼 已選取
    Database AdventureWorks
    伺服器群組 保持為 <Default>
    名稱 (選擇性) 保留空白
  3. 在 [連線] 索引標籤的 [伺服器] 底下,您現在應該會看到 Azure SQL Database 連線。 下圖所示的 SQL Server 連線僅供比較之用。

    在 Azure Data Studio 中比較 SQL Server 與 SQL Database 的螢幕擷取畫面。

  4. 在類似於 SSMS 的 Azure Data Studio 中執行查詢。 以滑鼠右鍵按一下資料庫或伺服器名稱,然後選取 [新增查詢]

  5. 針對 Azure SQL Database,因為您並未取得完整的伺服器,所以不支援以 使用 [DatabaseName] 變更資料庫內容。 您必須變更連線以明確連線至要對其執行查詢的資料庫,或使用下拉式清單。 選取 master 旁的選項以變更為 AdventureWorks 資料庫的內容,然後執行 SELECT @@VERSION

    在 Azure Data Studio 中查詢的螢幕擷取畫面。

    稍後在本練習中,您會深入了解為何結果與在 SQL Server 中看到的不同。

使用 Azure Data Studio 設定簡單的檔案存取

在建立連線後,您可能需要存取指令碼與 Jupyter 筆記本的輕鬆方式。 Jupyter 筆記本是將可執行程式碼與文字整合的一項方式。 如果您不熟悉 Jupyter Notebook,稍後就會有相關說明。

  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

在此選項中,您會對可在 SSMS 中部署使用的系統函式、動態管理檢視 (DMV) 與目錄檢視,逐步進行一些常見查詢。 您會查看哪些查詢的運作方式與 SQL Server 相同、哪些不相同,以及哪些是 Azure SQL 的新查詢。

  1. 若尚未連線至 SSMS 中的 Azure SQL Database 邏輯伺服器,請進行連線。

  2. 以滑鼠右鍵按一下 AdventureWorks 資料庫並選取 [新增查詢]

  3. 執行已知的系統函數 @@VERSION 來檢查所部署的版本。

    SELECT @@VERSION
    

    SELECT @@VERSION 函式結果的螢幕擷取畫面。

    該結果看起來與 SQL Server 有點不同。 您可分辨這個伺服器是 Azure SQL,其中沒有版本。 Azure SQL Database 包含與最新的 SQL Server 版本相符的最新變更。 然而,使用系統函式 @@VERSION 是驗證您可「查詢」SQL Server 的常用方法。

  4. 依據傳回的號碼,判斷 Azure SQL 部署的特定類型:

    • 1:Personal 或 Desktop Engine
    • 2:標準
    • 3:企業版
    • 4:Express
    • 5:SQL Database
    • 6:SQL 資料倉儲
    • 8:SQL 受控執行個體

    執行下列 T-SQL 命令,以查看您是否取得預期的結果。

    SELECT SERVERPROPERTY('EngineEdition');
    

    Azure SQL 部署結果的螢幕擷取畫面。

    結果為 5,這很合理,因為您已部署 Azure SQL Database,而非 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. 接下來,我們要確認所有排程器皆處於線上狀態,且將偵測到預期的可用 CPU (考量您使用 2 個虛擬核心模型部署)。

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

    sys.dm_os_schedulers 結果的螢幕擷取畫面。

    若 SQL Database 部署所在的 SQL Server 執行個體有 2 個可用虛擬核心,則可預期有兩個 VISIBLE ONLINE 排程器。

  7. 針對 SQL Server 部署,您通常可能會查看 sys.dm_process_memory 等 DMV,以確認 CPU、記憶體與背景工作角色的限制。 Azure SQL Database 不支援此 DMV,因為使用者不會公開或控制支援資料庫之主機的詳細資料。 您可使用 DMV sys.dm_user_db_resource_governance 來檢閱已部署 Azure SQL 資料庫的容量與限制。 您也可以使用 Azure SQL 受控執行個體中的 sys.dm_instance_resource_governance

    執行並檢閱下列查詢結果。 將結果與定價層和針對已部署階層所記載的限制進行比較。 slo_name 是服務等級目標 (SLO),其會指出部署選項、服務層級、硬體與計算數量。 此外,由於 Azure SQL Database 會使用 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 Database 的方式,不同於用於 SQL Server 或 SQL 受控執行個體的方式。 此 DMV 只會顯示與資料庫相關的作用中要求,包括背景工作 (或沒有任何資料庫內容顯示為 master 的背景工作)。 此行為是因為 Azure SQL Database 部署的本質。

選項 2:Azure Data Studio 中的 SQL 筆記本

針對此選項,請使用筆記本 VerifyDeployment.ipynb。 它位於 GitHub 存放庫中的 02-DeployAndConfigure\verifydeployment\VerifyDeployment.ipynb 底下,或您稍早下載的 zip 檔案。 在 Azure Data Studio 中瀏覽至該檔案以完成這部分的練習,然後返回此處。 在相同的資料夾中,您也可以找到額外的筆記本,其中包含對 Azure SQL 受控執行個體與 SQL Server 2019 執行相同查詢的結果。

若因故無法完成練習,您可在 GitHub 上對應的筆記本檔案中檢閱結果。