適用於:SQL Server
當 Azure Arc 啟用 SQL Server 引擎實例或相關聯的服務時,您可以使用 Azure 來管理清查。
先決條件
確認 SQL Server 服務是否為運行中
- 版本 SQL Server 2014 (12.x) 或更新版本。
- 在運行 Windows 作業系統的實體或虛擬機器上。
- 連線到 Azure Arc。請參閱 將 SQL Server 連線到 Azure Arc。
- 直接或透過 Proxy 伺服器連線到因特網。
庫存資料庫
若要清查 SQL Server 資料庫,請確定資料庫名稱遵守命名慣例,且不包含保留字。 如需保留字詞的清單,請參閱解決保留資源名稱錯誤的方法。 如需命名規則和限制的完整清單,請檢閱 命名規則和限制。
若要清查資料庫:
- 在 Azure 入口網站中找到透過 Azure Arc 啟用的 SQL Server 執行個體。
- 選取 SQL Server 資源。
- 在 [資料管理] 下,選取 [資料庫]。
- 使用 [SQL Server 資料庫 - Azure Arc] 區域來檢視屬於執行個體的資料庫。
若要檢視可用的資料庫大小和空間,請確定內建 SQL Server 登入 NT AUTHORITY\SYSTEM 是電腦上執行之所有 SQL Server 執行個體的 SQL Server 系統管理員 伺服器角色成員。
檢視資料庫屬性
若要檢視特定資料庫的屬性,請在入口網站中選取資料庫。
建立、修改或刪除資料庫之後,變更會在一小時內出現在 Azure 入口網站中。
[資料庫] 窗格顯示下列資訊:
- 資料收集和上傳的相關資訊:
- 上次收集的時間
- 上傳狀態
- 每個資料庫的相關資訊:
- 名稱
- 地位
- 建立時間
- 最早的還原點
當您選取特定資料庫時,會顯示該資料庫的所有屬性。 這些屬性也會顯示在 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 上的資料庫映像會維持在伺服器資源同步處理之前。