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

适用范围:SQL Server

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

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 分钟一次

收集的计数器:

  • 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