监视已启用 Azure Arc 的 SQL Server(预览)

适用于:SQL Server

在 Azure 门户里监视已启用 Azure Arc 的 SQL Server 性能仪表板。 对于 Azure Arc 启用的 SQL Server 实例,系统会自动从符合条件的实例上的 DMV 数据集中收集性能指标,并将这些指标发送到 Azure 遥测管道进行准实时处理。

注意

作为预览版功能,本文中介绍的技术受制于 Microsoft Azure 预览版补充使用条款

发行说明 – 已启用 Azure Arc 的 SQL Server 中提供了最近的更新。

在功能预览期间,可免费进行监视。 在正式发布后,将会确定此功能的费用。

在门户中查看指标:

  1. 选择由 Azure Arc 启用的 SQL Server 实例
  2. 选择监视>性能仪表板

只要满足所有先决条件,监视可自动执行。

Azure Arc 启用的 SQL Server 性能仪表板的屏幕截图。

先决条件

为了在 Azure Arc 启用的 SQL Server 上收集监视数据并查看 Azure 中的性能指标,必须满足以下条件:

  • 适用于 SQL Server 的 Azure 扩展版本 (WindowsAgent.SqlServer) 更新到 v1.1.2504.99 或更新版本
  • 已启用 Azure Arc 的 SQL Server 在 Windows 操作系统上运行
    • 不支持在 Windows Server 2012 及更早版本上运行的 SQL Server
  • 已启用 Azure Arc 的 SQL Server 是标准版或企业版
  • SQL Server 版本必须是 2016 或更高版本
  • 服务器已连接到 *.<region>.arcdataservices.com(有关详细信息,请参阅网络要求
  • 已启用 Azure Arc 的 SQL Server 上的许可证类型设置为“具有软件保障的许可证”或“即用即付”
  • 要在 Azure 门户中查看性能仪表板,必须为你分配一个具有 Microsoft.AzureArcData/sqlServerInstances/getTelemetry/ 操作的 Azure 角色。 为方便起见,可以使用内置角色“Azure 混合数据库管理员 - 只读服务角色”,其中包括此操作。 (有关更多信息,请参阅了解有关 Azure 内置角色的更多信息)

当前限制

目前不支持故障转移群集实例 (FCI)。

禁用或启用数据收集

重要

若要禁用或启用数据收集,sqlServer 扩展程序必须为 v1.1.2504.99 或更高版本。

使用 Azure 门户

  • 在已启用 Azure Arc 的 SQL Server 的资源页上,选择“性能仪表板(预览)”部分。
  • 在“性能仪表板”页面顶部,选择“配置”。 将在屏幕右侧打开“配置监视设置”门户。
  • 在“配置监视设置”中,切换用于打开或关闭监视数据集合的选项。
  • 选择“应用设置”

使用 Azure CLI

禁用监视数据收集

要为已启用 Azure Arc 的 SQL Server 禁用监视数据收集功能,请在 Azure CLI 中运行以下命令。 请将占位符替换为订阅 ID、资源组名称和资源名称:

az resource update --ids "/subscriptions/<sub_id>/resourceGroups/<resource_group>/providers/Microsoft.AzureArcData/SqlServerInstances/<resource_name>" --set 'properties.monitoring.enabled=false' --api-version 2023-09-01-preview

启用监视数据收集

要为已启用 Azure Arc 的 SQL Server 启用监视数据收集功能,请在 Azure CLI 中运行以下命令: 请将占位符替换为订阅 ID、资源组名称和资源名称:

az resource update --ids "/subscriptions/<sub_id>/resourceGroups/<resource_group>/providers/Microsoft.AzureArcData/SqlServerInstances/<resource_name>" --set 'properties.monitoring.enabled=true' --api-version 2023-09-01-preview

此命令可能会成功运行,但必须满足所有 [先决条件](#prerequisites) 才能收集监视数据,并在 Azure 门户中显示这些数据。

收集的数据

以下列表反映了启用监视功能时从已启用 Azure Arc 的 SQL Server 上的 DMV 数据集收集的监视数据。 不会收集个人身份信息 (PII)、最终用户身份信息 (EUII) 或客户内容。

可用的会话

说明:运行请求的会话是阻止程序,或具有待处理的事务。
数据集名称:SqlServerActiveSessions
收集频率:每 30 秒一次
收集的字段:

  • connection_id
  • database_id
  • database_name
  • machine_name
  • sample_time_utc
  • session_id
  • session_status
  • sql_server_instance_name

CPU 使用率

说明:一段时间内的 CPU 使用率。
数据集名称:SqlServerCPUUtilization
收集频率:每 10 秒一次
收集的字段:

  • avg_cpu_percent
  • idle_cpu_percent
  • machine_name
  • other_process_cpu_percent
  • process_sample_time_utc
  • sample_time_utc
  • sql_process_cpu_percent
  • sql_server_instance_name

数据库属性

说明:包括数据库选项及其他数据库元数据。
数据集名称:SqlServerDatabaseProperties
收集频率:每 5 分钟一次
收集的字段:

  • collation_name
  • collection_time_utc
  • compatibility_level
  • containment_desc
  • count_suspect_pages
  • create_date
  • database_id
  • database_name
  • delayed_durability_desc
  • force_last_good_plan_actual_state
  • is_accelerated_database_recovery_on
  • is_auto_create_stats_on
  • is_auto_shrink_on
  • is_auto_update_stats_async_on
  • is_auto_update_stats_on
  • is_broker_enabled
  • is_cdc_enabled
  • is_change_feed_enabled
  • is_distributor
  • is_encrypted
  • is_in_standby
  • is_ledger_on
  • is_merge_published
  • is_parameterization_forced
  • is_primary_replica
  • is_published
  • is_read_committed_snapshot_on
  • is_read_only
  • is_subscribed
  • is_primary_replica
  • log_reuse_wait_desc
  • machine_name
  • notable_db_scoped_configs
  • page_verify_option_desc
  • query_store_actual_state_desc
  • query_store_query_capture_mode_desc
  • recovery_model_desc
  • sample_time_utc
  • snapshot_isolation_state
  • sql_server_instance_name
  • state_desc
  • updateability
  • user_access_desc

数据库存储利用率

说明:包括其存储利用率和持久性版本存储。
数据集名称:SqlServerDatabaseStorageUtilization
收集频率:每 1 分钟一次
收集的字段:

  • collection_time_utc
  • count_data_files
  • count_log_files
  • data_size_allocated_mb
  • data_size_used_mb
  • database_id
  • database_name
  • is_primary_replica
  • log_size_allocated_mb
  • log_size_used_mb
  • machine_name
  • online_index_version_store_size_mb
  • persistent_version_store_size_mb
  • sample_time_utc
  • sql_server_instance_name

内存利用率

说明:内存分配器和该分配器的内存消耗。
数据集名称:SqlServerMemoryUtilization
收集频率:每 10 秒一次
收集的字段:

  • machine_name
  • memory_size_mb
  • memory_clerk_name
  • memory_clerk_type
  • sample_time_utc
  • sql_server_instance_name

性能计数器(常见)

说明:包括 SQL Server 记录的常见性能计数器。
数据集名称:SqlServerPerformanceCountersCommon
收集频率:每 1 分钟一次
收集的计数器:

  • Active Temp Tables
  • Active Transactions
  • Background writer pages/sec
  • Batch Requests/sec
  • 缓冲区缓存命中率
  • 缓存命中率
  • Checkpoint pages/sec
  • Errors/sec
  • Free Space in tempdb (KB)
  • Granted Workspace Memory (KB)
  • Latch Waits/sec
  • Lazy writes/sec
  • Lock Memory (KB)
  • 已锁定页分配 (KB)
  • Log Bytes Flushed/sec
  • Log Flushes/sec
  • Logical Connections
  • Logins/sec
  • Logouts/sec
  • Number of Deadlocks/sec
  • 操作系统可用的物理内存 (KB)
  • 内存不足计数
  • Page life expectancy
  • Page reads/sec
  • Page writes/sec
  • 正在使用的进程物理内存 (KB)
  • 进程物理内存不足
  • Processes blocked
  • Readahead pages/sec
  • SQL Attention rate
  • SQL Compilations/sec
  • SQL Re-Compilations/sec
  • 系统内存信号状态高
  • 系统内存信号状态低
  • Target Server Memory (KB)
  • Temp Tables Creation Rate
  • Total Server Memory (KB)
  • Transactions/sec
  • 用户连接
  • Write Transactions/sec

性能计数器(详细信息)

说明:包括 SQL Server 记录的详细性能计数器。
数据集名称:SqlServerPerformanceCountersDetailed
收集频率:每 1 分钟一次
收集的计数器:

  • Average Wait Time (ms)
  • Backup/Restore Throughput/sec
  • Bulk Copy Rows/sec
  • Bulk Copy Throughput/sec
  • Cache Object Counts
  • Connection Memory (KB)
  • 数据文件大小 (KB)
  • Database pages
  • Errors/sec
  • Failed Auto-Params/sec
  • Free list stalls/sec
  • 大型页分配 (KB)
  • Local node page lookups/sec
  • Lock Timeouts (timeout > 0)/sec
  • 日志文件大小 (KB)
  • 日志文件已用大小 (KB)
  • Log Flush Wait Time
  • Log Growths
  • Log Shrinks
  • Optimizer Memory (KB)
  • Page lookups/sec
  • Percent Log Used
  • 进程虚拟内存不足
  • Remote node page lookups/sec
  • Shrink Data Movement Bytes/sec
  • Temp Tables For Destruction
  • Version Cleanup rate (KB/s)
  • Version Generation rate (KB/s)
  • Version Store Size (KB)
  • 已使用的 XTP 内存(KB)

存储 I/O

说明:包括累计 IOPS、吞吐量和延迟统计信息。
数据集名称:SqlServerStorageIO
收集频率:每 10 秒一次
收集的字段:

  • database_id
  • database_name
  • file_id
  • file_max_size_mb
  • file_size_mb
  • file_type
  • io_stall_queued_read_ms
  • io_stall_queued_write_ms
  • io_stall_read_ms
  • io_stall_write_ms
  • machine_name
  • num_of_bytes_read
  • num_of_bytes_written
  • num_of_reads
  • num_of_writes
  • sample_time_utc
  • size_on_disk_bytes
  • sql_server_instance_name

等待统计信息

说明:包括数据库引擎实例的等待类型和等待统计信息。
数据集名称:SqlServerWaitStats
收集频率:每 10 秒一次
收集的字段:

  • machine_name
  • max_wait_time_ms
  • resource_wait_time_ms
  • sample_time_utc
  • signal_wait_time_ms
  • sql_server_instance_name
  • wait_category
  • wait_time_ms
  • wait_type
  • waiting_tasks_count

后续步骤