适用范围:SQL Server
当 Azure Arc 启用 SQL Server 引擎实例或关联服务时,可以使用 Azure 来管理清单。
先决条件
验证 SQL Server 服务的状态是否为...
- 版本 SQL Server 2014 (12.x) 或更高版本。
- 在运行 Windows 操作系统的物理或虚拟机上。
- 连接到 Azure Arc。请参阅 将 SQL Server 连接到 Azure Arc。
- 直接或通过代理服务器连接到 Internet。
清单数据库
若要清点 SQL Server 数据库,请确保数据库名称遵循命名约定,并且不包含保留字。 有关保留字的列表,请参阅 解决保留资源名称的错误。 有关命名规则和限制的完整列表,请查看 命名规则和限制。
列出数据库清单:
- 在 Azure 门户中找到 Azure Arc 启用的 SQL Server 实例。
- 选择 SQL Server 资源。
- 在数据管理下,选择数据库。
- 使用 SQL Server 数据库 - Azure Arc 区域查看属于实例的数据库。
若要查看数据库大小和可用空间,请确保内置 SQL Server 登录名 NT AUTHORITY\SYSTEM 是计算机上运行的所有 SQL Server 实例的 SQL Server sysadmin 服务器角色的成员。
查看数据库属性
若要查看特定数据库的属性,请在门户中选择该数据库。
创建、修改或删除数据库后,更改将在一小时内显示在 Azure 门户中。
“ 数据库 ”窗格显示以下信息:
- 有关数据收集和上传的信息:
- 上次收集的时间
- 上传状态
- 有关每个数据库的信息:
- Name
- 状态
- 创建时间
- 最早的还原点
选择特定数据库时,将显示该数据库的所有属性。 这些属性在 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 的每个层级之间使用句点来导航其层次结构。
方案 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)
关联的服务的每个安装都以 SQL Server 实例的形式表示,其中 serviceType 显示了特定服务的属性。 该属性的定义如下:
"serviceType": {
"type": "string",
"enum": [ "Engine", "SSAS", "SSIS", "SSRS", "PBIRS" ],
"default": "Engine"
}
创建清单仪表板
还可以 创建图表并将其固定到仪表板。
已知问题
本地删除的资源可能不会立即在 Azure 中删除。 例如,如果删除数据库,Azure 上的数据库映像将一直保留,直到服务器资源同步。