你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
通过 SQL 见解(预览版)监视 SQL 部署
适用于:Azure SQL 数据库 Azure SQL 托管实例 Azure VM 上的 SQL Server
重要
SQL Insights(预览版)将于 2024 年 12 月 31 日停用。 建议在该日期之前转换到 Azure SQL 数据库观察程序(预览版)或其他数据库监视解决方案。
数据库观察程序是建议的监视解决方案,适用于需要低数据收集延迟、资产级监视、全面的监视数据(包括查询级详细信息)以及支持对收集的监视数据进行高级分析的应用场景。 目前,数据库观察程序支持 Azure SQL 数据库和 Azure SQL 托管实例。
2024 年 12 月 31 日之后,SQL Insights(预览版)将不再受支持,并且不会在 Azure 门户中提供。 你将在 Log Analytics 工作区中保留 SQL Insights 收集的任何现有监视数据。
SQL Insights(预览版)是用于 Azure SQL 系列中产品的监视解决方案。 SQL 见解使用动态管理视图来公开你监视运行状况、诊断问题和优化性能时所需的数据。
SQL 见解远程执行所有监视功能。 专用虚拟机上的监视代理连接到 SQL 资源并远程收集数据。 收集的数据存储在 Azure Monitor 日志中,因而可以轻松地进行聚合、筛选和趋势分析。 可以从 SQL 见解工作簿模板查看收集的数据,也可以使用日志查询直接深入到数据。
下图详细介绍了数据库引擎和 Azure 资源日志中的信息所执行的步骤,以及如何显示它们。 如需更详细的 Azure SQL 日志记录的示意图,请查看监视和诊断遥测数据。
定价
SQL Insights(预览版)不直接产生成本。 所有成本是收集数据的虚拟机、存储数据的 Log Analytics 工作区以及针对数据配置的任何警报规则产生的。
虚拟机
对于虚拟机,你将按照虚拟机定价页上发布的定价付费。 所需的虚拟机数因你要监视的连接字符串数而异。 建议为每 100 个连接字符串分配 1 个 Standard_B2s 大小的虚拟机。 有关详细信息,请参阅 Azure 虚拟机要求。
Log Analytics 工作区
对于 Log Analytics 工作区,你将按照 Azure Monitor 定价页上发布的定价付费。 SQL Insights 使用的 Log Analytics 工作区会产生数据引入成本、数据保留成本和(可选)数据导出成本。
确切的费用因引入、保留和导出的数据量而异。 而此数据量又因你的数据库活动以及在监视配置文件中定义的收集设置而异。
警报规则
对于 Azure Monitor 中的警报规则,你将按照 Azure Monitor 定价页上发布的定价付费。 如果你选择使用 SQL 见解(预览版)创建警报,则需要为创建的任何警报规则以及发送的任何通知付费。
支持的版本
SQL 见解(预览版)支持以下环境:
- Azure SQL 数据库
- Azure SQL 托管实例
- SQL Server 2012 及更高版本,运行于:
- Azure 虚拟机上的 SQL Server(安装在使用 SQL IaaS 代理扩展注册的虚拟机上的 SQL Server)
- Azure VM(安装在使用 SQL IaaS 代理扩展注册的虚拟机上的 SQL Server)
SQL 见解(预览版)不支持以下项或仅对其提供有限支持:
- 非 Azure 实例:不支持在 Azure 外部环境(包括本地和虚拟机)上运行的 SQL Server。
- Azure SQL 数据库弹性池:无法为弹性池或弹性池中的数据库收集指标。
- Azure SQL 数据库低服务层级:无法收集基本、S0、S1 和 S2 服务层级上的数据库的指标。
- Azure SQL 数据库无服务器层级:可以通过无服务器计算层级收集数据库指标。 但是,指标收集过程会重置自动暂停延迟计时器,导致数据库无法进入“已自动暂停”状态。
- 次要副本:只能收集每个数据库的单个次要副本的指标。 如果数据库有多个次要副本,则只能监视 1 个副本。
- 使用 Microsoft Entra ID(以前称为 Azure Active Directory)进行身份验证:唯一支持的监视身份验证方法是 SQL 身份验证。 对于 Azure 虚拟机上的 SQL Server,不支持在自定义域控制器上通过 Active Directory 进行身份验证。
区域可用性
SQL 见解(预览版)在 Azure Monitor 可用的所有 Azure 区域均可使用,Azure 政府和国家/地区云除外。
打开 SQL 见解
若要打开 SQL 见解(预览版),请执行以下操作:
- 在 Azure 门户中,转到“Azure 监视”菜单。
- 在“见解”部分,选择“SQL (预览)”。
- 选择一个磁贴来加载所监视 SQL 资源的体验。
有关更多说明,请参阅启用 SQL 见解(预览版)和排查 SQL 见解(预览版)问题。
注意
SQL Insights(预览版)当前不支持本地 SQL Server 实例 - Azure 门户中的标签可以忽略。
收集的数据
SQL 见解远程执行所有监视功能。 运行 SQL Server 的虚拟机上未安装任何代理。
SQL 见解使用专用监视虚拟机从 SQL 资源远程收集数据。 每个监视虚拟机都安装了 Azure Monitor 代理和工作负载见解 (WLI) 扩展。
WLI 扩展包含开源 Telegraf 代理。 SQL 见解使用数据收集规则为 Telegraf 的 SQL Server 插件指定数据收集设置。
可对 Azure SQL 数据库、Azure SQL 托管实例和 SQL Server 使用不同的数据集。 下表列出了可用的数据。 创建监视配置文件时,可以自定义要收集的数据集和收集频率。
表格包含以下列:
- 易记名称:创建监视配置文件时显示在 Azure 门户上的查询名称。
- 配置名称:编辑监视配置文件时显示在 Azure 门户上的查询名称。
- 命名空间:Log Analytics 工作区中显示的查询名称。 此标识符显示在 InsighstMetrics 表的
Tags
列中的Namespace
属性上。 - DMV:用于生成数据集的动态托管视图。
- 默认已启用:默认情况下是否收集数据。
- 默认收集频率:默认情况下收集数据的频率。
Azure SQL 数据库的数据
友好名称 | 配置名称 | 命名空间 | DMV | 默认已启用 | 默认收集频率 |
---|---|---|---|---|---|
DB 等待统计信息 | AzureSQLDBWaitStats |
sqlserver_azuredb_waitstats |
sys.dm_db_wait_stats |
否 | 不适用 |
DBO 等待统计信息 | AzureSQLDBOsWaitstats |
sqlserver_waitstats |
sys.dm_os_wait_stats |
是 | 60 秒 |
内存分配器 | AzureSQLDBMemoryClerks |
sqlserver_memory_clerks |
sys.dm_os_memory_clerks |
是 | 60 秒 |
数据库 I/O | AzureSQLDBDatabaseIO |
sqlserver_database_io |
sys.dm_io_virtual_file_stats sys.database_files tempdb.sys.database_files |
是 | 60 秒 |
服务器属性 | AzureSQLDBServerProperties |
sqlserver_server_properties |
sys.dm_os_job_object sys.database_files sys.databases sys.database_service_objectives |
是 | 60 秒 |
性能计数器 | AzureSQLDBPerformanceCounters |
sqlserver_performance |
sys.dm_os_performance_counters sys.databases |
是 | 60 秒 |
资源统计信息 | AzureSQLDBResourceStats |
sqlserver_azure_db_resource_stats |
sys.dm_db_resource_stats |
是 | 60 秒 |
资源调控 | AzureSQLDBResourceGovernance |
sqlserver_db_resource_governance |
sys.dm_user_db_resource_governance |
是 | 60 秒 |
请求 | AzureSQLDBRequests |
sqlserver_requests |
sys.dm_exec_sessions sys.dm_exec_requests sys.dm_exec_sql_text |
否 | 不适用 |
计划程序 | AzureSQLDBSchedulers |
sqlserver_schedulers |
sys.dm_os_schedulers |
否 | 不适用 |
Azure SQL 托管实例的数据
友好名称 | 配置名称 | 命名空间 | DMV | 默认已启用 | 默认收集频率 |
---|---|---|---|---|---|
等待统计信息 | AzureSQLMIOsWaitstats |
sqlserver_waitstats |
sys.dm_os_wait_stats |
是 | 60 秒 |
内存分配器 | AzureSQLMIMemoryClerks |
sqlserver_memory_clerks |
sys.dm_os_memory_clerks |
是 | 60 秒 |
数据库 I/O | AzureSQLMIDatabaseIO |
sqlserver_database_io |
sys.dm_io_virtual_file_stats sys.master_files |
是 | 60 秒 |
服务器属性 | AzureSQLMIServerProperties |
sqlserver_server_properties |
sys.server_resource_stats |
是 | 60 秒 |
性能计数器 | AzureSQLMIPerformanceCounters |
sqlserver_performance |
sys.dm_os_performance_counters sys.databases |
是 | 60 秒 |
资源统计信息 | AzureSQLMIResourceStats |
sqlserver_azure_db_resource_stats |
sys.server_resource_stats |
是 | 60 秒 |
资源调控 | AzureSQLMIResourceGovernance |
sqlserver_instance_resource_governance |
sys.dm_instance_resource_governance |
是 | 60 秒 |
请求 | AzureSQLMIRequests |
sqlserver_requests |
sys.dm_exec_sessions sys.dm_exec_requests sys.dm_exec_sql_text |
否 | NA |
计划程序 | AzureSQLMISchedulers |
sqlserver_schedulers |
sys.dm_os_schedulers |
否 | 不适用 |
SQL Server 的数据
友好名称 | 配置名称 | 命名空间 | DMV | 默认已启用 | 默认收集频率 |
---|---|---|---|---|---|
等待统计信息 | SQLServerWaitStatsCategorized |
sqlserver_waitstats |
sys.dm_os_wait_stats |
是 | 60 秒 |
内存分配器 | SQLServerMemoryClerks |
sqlserver_memory_clerks |
sys.dm_os_memory_clerks |
是 | 60 秒 |
数据库 I/O | SQLServerDatabaseIO |
sqlserver_database_io |
sys.dm_io_virtual_file_stats sys.master_files |
是 | 60 秒 |
服务器属性 | SQLServerProperties |
sqlserver_server_properties |
sys.dm_os_sys_info |
是 | 60 秒 |
性能计数器 | SQLServerPerformanceCounters |
sqlserver_performance |
sys.dm_os_performance_counters |
是 | 60 秒 |
卷空间 | SQLServerVolumeSpace |
sqlserver_volume_space |
sys.master_files |
是 | 60 秒 |
SQL Server CPU | SQLServerCpu |
sqlserver_cpu |
sys.dm_os_ring_buffers |
是 | 60 秒 |
计划程序 | SQLServerSchedulers |
sqlserver_schedulers |
sys.dm_os_schedulers |
否 | 不适用 |
请求 | SQLServerRequests |
sqlserver_requests |
sys.dm_exec_sessions sys.dm_exec_requests sys.dm_exec_sql_text |
否 | 不适用 |
可用性副本状态 | SQLServerAvailabilityReplicaStates |
sqlserver_hadr_replica_states |
sys.dm_hadr_availability_replica_states sys.availability_replicas sys.availability_groups sys.dm_hadr_availability_group_states |
否 | 60 秒 |
可用性数据库副本 | SQLServerDatabaseReplicaStates |
sqlserver_hadr_dbreplica_states |
sys.dm_hadr_database_replica_states sys.availability_replicas |
否 | 60 秒 |