共用方式為


使用 Azure Arc 管理 SQL Server 資源的清查

適用於:SQL Server

當 Azure Arc 啟用 SQL Server 引擎實例或相關聯的服務時,您可以使用 Azure 來管理清查。

先決條件

確認 SQL Server 服務是否為運行中

  • 版本 SQL Server 2014 (12.x) 或更新版本。
  • 在運行 Windows 作業系統的實體或虛擬機器上。
  • 連線到 Azure Arc。請參閱 將 SQL Server 連線到 Azure Arc
  • 直接或透過 Proxy 伺服器連線到因特網。

庫存資料庫

若要清查 SQL Server 資料庫,請確定資料庫名稱遵守命名慣例,且不包含保留字。 如需保留字詞的清單,請參閱解決保留資源名稱錯誤的方法。 如需命名規則和限制的完整清單,請檢閱 命名規則和限制

若要清查資料庫:

  1. 在 Azure 入口網站中找到透過 Azure Arc 啟用的 SQL Server 執行個體。
  2. 選取 SQL Server 資源。
  3. 在 [資料管理] 下,選取 [資料庫]。
  4. 使用 [SQL Server 資料庫 - Azure Arc] 區域來檢視屬於執行個體的資料庫。

若要檢視可用的資料庫大小和空間,請確定內建 SQL Server 登入 NT AUTHORITY\SYSTEM 是電腦上執行之所有 SQL Server 執行個體的 SQL Server 系統管理員 伺服器角色成員。

檢視資料庫屬性

若要檢視特定資料庫的屬性,請在入口網站中選取資料庫。

建立、修改或刪除資料庫之後,變更會在一小時內出現在 Azure 入口網站中。

Azure 入口網站中 SQL Server 資料庫屬性的螢幕擷取畫面。

[資料庫] 窗格顯示下列資訊:

  • 資料收集和上傳的相關資訊:
    • 上次收集的時間
    • 上傳狀態
  • 每個資料庫的相關資訊:
    • 名稱
    • 地位
    • 建立時間
    • 最早的還原點

當您選取特定資料庫時,會顯示該資料庫的所有屬性。 這些屬性也會顯示在 SQL Server Management Studio 中。

完整資料庫屬性清單的螢幕擷取畫面。

使用 Azure Resource Graph 來查詢資料

以下是一些範例案例,示範如何使用 Azure Resource Graph 來查詢當您檢視 Azure Arc 啟用的 SQL Server 資料庫時可用的資料。

案例 1:取得 10 個資料庫

取得 10 個資料庫,並傳回可供查詢的屬性:

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| limit 10

要查詢的許多最有趣的屬性都位於 properties 屬性中。 若要探索可用的屬性,請執行下列查詢,然後在資料列上選取 [查看詳細資料]。 此動作會在右側 JSON 檢視器中傳回屬性。

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| project properties

您可以使用 JSON 每個層級之間的句點來導覽屬性 JSON 的階層。

案例 2:取得所有資料庫選項 AUTO_CLOSE 設為 ON 的資料庫

| where (type == 'microsoft.azurearcdata/sqlserverinstances/databases' and properties.databaseOptions.isAutoCloseOn == true)
| extend isAutoCloseOn = properties.databaseOptions.isAutoCloseOn
| project name, isAutoCloseOn

案例 3:取得已加密與未加密的資料庫計數

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| extend isEncrypted = properties.databaseOptions.isEncrypted
| summarize count() by tostring(isEncrypted)
| order by ['isEncrypted'] asc

案例 4:顯示所有未加密的資料庫

resources
| where (type == 'microsoft.azurearcdata/sqlserverinstances/databases' and properties.databaseOptions.isEncrypted == false)
| extend isEncrypted = properties.databaseOptions.isEncrypted
| project name, isEncrypted

案例 5:依區域和相容性層級取得所有資料庫

此範例會傳回 westus3 位置中相容性層級為 160 的所有資料庫:

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| where location == "westus3"
| where properties.compatibilityLevel == "160"

案例 6:顯示 SQL Server 版本的分佈

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances'
| extend SQLversion = properties.version
| summarize count() by tostring(SQLversion)

案例 7:依相容性顯示資料庫計數

此範例會傳回依相容性層級排序的資料庫數目:

resources
| where type == 'microsoft.azurearcdata/sqlserverinstances/databases'
| summarize count() by tostring(properties.compatibilityLevel)
| order by properties_compatibilityLevel asc

與庫存相關的服務

SQL Server 相關聯的服務包括:

  • SQL Server 資料庫引擎
  • SQL Server Analysis Services (SSAS)
  • SQL Server Integration Services (SSIS)
  • SQL Server Reporting Services (SSRS)
  • Power BI 報表伺服器 (PBIRS)

在 Azure 資源管理員中,每個相關服務的安裝會作為一個 SQL Server 實例呈現,serviceType 屬性顯示特定服務。 屬性的定義如下:

"serviceType":  {
         "type": "string",
         "enum": [ "Engine", "SSAS", "SSIS", "SSRS", "PBIRS" ],
         "default": "Engine"
     }

建立庫存儀錶板

您也可以建立圖表,並將其固定到儀表板

圓形圖顯示按相容性層級分類的資料庫數量查詢結果。

已知問題

Azure 中可能不會立即刪除已刪除內部部署的資源。 例如,如果您刪除資料庫,Azure 上的資料庫映像會維持在伺服器資源同步處理之前。