已启用 Azure Arc 的 SQL Server 的数据收集和报告

适用范围:SQL Server

本文介绍了 Azure Arc 启用的 SQL Server 将向 Microsoft 传输的数据。 具体而言:

  • 如本文和监视 Azure Arc 启用的 SQL Server 所述。Azure Arc 启用的 SQL Server 会收集使用情况数据。
  • 正如*.<region>.arcdataservices.com 中所述,Azure Connected Machine Agent 将此数据传送到

Azure Arc 启用的 SQL Server 不会收集任何个人身份信息 (PII) 或最终用户身份信息,也不会存储任何客户数据。

Azure Arc 启用的 SQL Server 使用以下产品:

  • 已启用 Azure Arc 的服务器

Azure Arc 实例启用的 SQL Server

将为 Azure Arc 启用的 SQL Server 实例收集以下数据:

说明 属性名称 属性类型
SQL Server 版本 Edition string
托管 Azure Arc for Servers 资源的资源 ID ContainerResourceId string
创建资源的时间 CreateTime string
SQL Server 实例使用的逻辑处理器数 VCore string
云连接状态 Status string
SQL Server 更新级别 PatchLevel string
SQL Server 排序规则 Collation string
SQL Server 当前版本 CurrentVersion string
SQL Server 实例名称 InstanceName string
SQL Server 使用的动态 TCP 端口 TcpDynamicPorts string
SQL Server 使用的静态 TCP 端口 TcpStaticPorts string
SQL Server 产品 ID ProductId string
SQL Server 预配状态 ProvisioningState string

以下 JSON 文档是 SQL Server - Azure Arc 资源的示例

{
    "name": "<server name>",
    "version": "SQL Server 2022",
    "edition": "Enterprise",
    "containerResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/arc-eastasia/providers/Microsoft.HybridCompute/machines/<server name>",
    "vCore": "8",
    "status": "Connected",
    "patchLevel": "16.0.1000.6",
    "collation": "SQL_Latin1_General_CP1_CI_AS",
    "currentVersion": "16.0.1000.6",
    "instanceName": "<instance name>",
    "tcpDynamicPorts": "61394",
    "tcpStaticPorts": "",
    "productId": "00488-00010-05000-AB944",
    "licenseType": "PAYG",
    "azureDefenderStatusLastUpdated": "2023-02-08T07:57:37.5597421Z",
    "azureDefenderStatus": "Protected",
    "provisioningState": "Succeeded"
}

SQL Server 数据库 - Azure Arc

说明 属性名称 属性类型
数据库名称 name string
排序规则 collationName string
数据库创建日期 databaseCreationDate System.DateTime
兼容级别 compatibilityLevel string
数据库状态 state string
只读模式 isReadOnly boolean
恢复模式 recoveryMode boolean
自动关闭已启用 isAutoCloseOn boolean
自动收缩已启用 isAutoShrinkOn boolean
自动创建统计信息已启用 isAutoCreateStatsOn boolean
自动更新统计信息已启用 isAutoUpdateStatsOn boolean
远程数据存档已启用 isRemoteDataArchiveEnabled boolean
内存优化已启用 isMemoryOptimizationEnabled boolean
加密已启用 isEncrypted boolean
可信模式已启用 isTrustworthyOn boolean
备份信息 backupInformation object
正在设置状态 provisioningState string

以下 JSON 文档是 SQL Server 数据库 - Azure Arc 资源的示例。

{
    "name": "newDb80",
    "collationName": "SQL_Latin1_General_CP1_CI_AS",
    "databaseCreationDate": "2023-01-09T03:40:45Z",
    "compatibilityLevel": 150,
    "state": "Online",
    "isReadOnly": false,
    "recoveryMode": "Full",
    "databaseOptions": {
        "isAutoCloseOn": false,
        "isAutoShrinkOn": false,
        "isAutoCreateStatsOn": true,
        "isAutoUpdateStatsOn": true,
        "isRemoteDataArchiveEnabled": false,
        "isMemoryOptimizationEnabled": true,
        "isEncrypted": false,
        "isTrustworthyOn": false
    },
    "backupInformation": {},
    "provisioningState": "Succeeded"
}

扩展日志

该扩展会向 Azure 发送扩展事件相关的日志。

扩展日志文件位于:

C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer\

日志文件名取决于 SQL Server 的 Azure 扩展版本,最新版本 SQL Server 的 Azure 扩展日志文件为:

unifiedagent.log

版本 1.1.24724.69 和更早版本扩展的日志文件为:

ExtensionLog_0.log

迁移评估指标

迁移评估会自动生成迁移到 Azure 的评估。 有关详细信息,请访问使用迁移评估(预览版)选择最佳 Azure SQL 目标 - 由 Azure Arc 启用的 SQL Server

  • CPU 使用率 (%)
  • 内存使用率 (%)
  • 读取 IO/秒和写入 IO/秒(数据和日志文件)
  • 读取 MB/秒和写入 MB/秒(吞吐量)
  • IO 操作延迟
  • 总数据库大小和数据库文件组织

监视数据

代理会将 SQL Server 监视数据发送到 Azure。 可以启用和禁用收集的监视数据。 请参阅监视已启用 Azure Arc 的 SQL Server(预览)

以下列表反映了启用监视功能时从已启用 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
  • last_good_checkdb_time
  • 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 分钟一次

收集的计数器:

  • 活动临时表
  • 活跃交易
  • 后台编写器页数/秒
  • 批处理请求/秒
  • 缓冲区缓存命中率
  • 缓存命中率
  • 检查点页数/秒
  • 错误数/秒
  • tempdb中的可用空间 (KB)
  • 授予的工作区内存 (KB)
  • 锁存器等待数/秒
  • 延迟写入数/秒
  • 锁定内存 (KB)
  • 已锁定页分配 (KB)
  • 刷新的日志字节数/秒
  • 日志刷新数/秒
  • 逻辑关系
  • 每秒登录次数
  • 注销数/秒
  • 死锁数/秒
  • 操作系统可用的物理内存 (KB)
  • 内存不足计数
  • 页生存期
  • 页面读取/秒
  • 页面写入数/秒
  • 正在使用的进程物理内存 (KB)
  • 进程物理内存不足
  • 进程被阻止
  • 预读页数/秒
  • SQL 关注率
  • SQL 编译次数/秒
  • SQL 重新编译数/秒
  • 系统内存信号状态高
  • 系统内存信号状态低
  • 目标服务器内存 (KB)
  • 临时表创建速率
  • 服务器内存总量(KB)
  • 每秒交易笔数
  • 用户连接
  • 写入事务数/秒

性能计数器(详细信息)

说明:包括 SQL Server 记录的详细性能计数器。

数据集名称:SqlServerPerformanceCountersDetailed

收集频率:每 1 分钟一次

收集的计数器:

  • 平均等待时间(毫秒)
  • 备份/还原吞吐量/秒
  • 批量复制行数/秒
  • 批量复制吞吐量/秒
  • 缓存对象计数
  • 连接内存(KB)
  • 数据文件大小 (KB)
  • 数据库页面
  • 错误数/秒
  • 失败的自动参数/秒
  • 空闲列表停顿数/秒
  • 大型页分配 (KB)
  • 本地节点页面查找数/秒
  • 锁定超时(超时 > 0)/秒
  • 日志文件大小 (KB)
  • 日志文件已用大小 (KB)
  • Log Flush 等待时间
  • 对数生长
  • 日志收缩
  • 优化器内存 (KB)
  • 页面查找次数/秒
  • 已用日志百分比
  • 进程虚拟内存不足
  • 远程节点页面查找次数/秒
  • 减少每秒数据移动的字节数
  • 用于销毁的临时表
  • 版本清理率 (KB/s)
  • 版本生成速率 (KB/秒)
  • 版本存储大小 (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