你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

通过 SQL 见解(预览版)监视 SQL 部署

适用于: Azure VM 上的 SQL Server Azure SQL 数据库 Azure SQL 托管实例

提示

数据库观察程序(预览版)是建议的监视解决方案,适用于需要低数据收集延迟、资产级监视、全面的监视数据(包括查询级详细信息)以及支持对收集的监视数据进行高级分析的应用场景。

目前,数据库观察程序支持 Azure SQL 数据库和 Azure SQL 托管实例。

SQL Insights(预览版)是用于 Azure SQL 系列中产品的监视解决方案。 SQL 见解使用动态管理视图来公开你监视运行状况、诊断问题和优化性能时所需的数据。

SQL 见解远程执行所有监视功能。 专用虚拟机上的监视代理连接到 SQL 资源并远程收集数据。 收集的数据存储在 Azure Monitor 日志中,因而可以轻松地进行聚合、筛选和趋势分析。 可以从 SQL 见解工作簿模板查看收集的数据,也可以使用日志查询直接深入到数据。

下图详细介绍了数据库引擎和 Azure 资源日志中的信息所执行的步骤,以及如何显示它们。 如需更详细的 Azure SQL 日志记录的示意图,请查看监视和诊断遥测数据

显示如何通过 AzureDiagnostics 和 Log Analytics 显示数据库引擎信息和资源日志的示意图。

定价

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 及更高版本,运行于:

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 见解(预览版),请执行以下操作:

  1. 在 Azure 门户中,转到“Azure 监视”菜单。
  2. 在“见解”部分,选择“SQL (预览)”。
  3. 选择一个磁贴来加载所监视 SQL 资源的体验。

显示 Azure 门户 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 秒