You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
title: Monitor Azure Arc-enabled SQL Server in Azure portal
3
-
description: How to enable or disable monitoring on Azure Arc-enabled SQL Servers
3
+
description: Describes the
4
4
author: lcwright
5
5
ms.author: lancewright
6
6
ms.reviewer: mikeray
@@ -9,26 +9,282 @@ ms.topic: conceptual
9
9
---
10
10
11
11
# Monitor Azure Arc-enabled SQL Server
12
-
<TODO>
13
12
14
-
## Prerequisites
13
+
Monitor the performance of Azure Arc-enabled SQL Servers within the Azure portal. Performance metrics are automatically collected from DMV datasets on eligible Azure Arc-enabled SQL Servers and sent to the Azure telemetry pipeline for near real-time processing. Performance data can then be viewed on the Performance Dashboard section of an Azure Arc-enabled SQL Server. Monitoring data collection is automatic, assuming all prerequisites are met.
14
+
15
+
## Prerequisites
16
+
15
17
In order for monitoring data to be collected on an Azure Arc-enabled SQL Server, the following conditions must be met:
16
-
* The version of Azure Extension for SQL Server (WindowsAgent.SqlServer) is "<TODO>" or later
18
+
19
+
* The version of Azure Extension for SQL Server (WindowsAgent.SqlServer) is "1.1.2496" or later
17
20
* Azure Arc-enabled SQL Servers must be running on Windows operating system
18
21
* Azure Arc-enabled SQL Servers must be a Standard or Enterprise (Core) Edition
19
22
* The license type on the Azure Arc-enabled SQL Server must be set to "License with Software Assurance" or "Pay-as-you-go"
20
23
* The SQL Server built-in login NT AUTHORITY\SYSTEM must be the member of SQL Server sysadmin server role
21
24
25
+
## Collected data
26
+
27
+
The following lists reflect the monitoring data is collected from DMV datasets on Azure Arc-enabled SQL Servers when the monitoring feature is enabled. No personally identifiable information (PII), end-user identifiable information (EUII), or customer content is collected.
28
+
29
+
### Active Sessions
30
+
31
+
Description: Sessions running a request, is a blocker, or has an open transaction.\
32
+
Dataset Name: SqlServerActiveSessions\
33
+
Collection Frequency: 30 seconds\
34
+
**Collected Fields:**
35
+
36
+
* connection_id
37
+
* database_id
38
+
* database_name
39
+
* machine_name
40
+
* sample_time_utc
41
+
* session_id
42
+
* session_status
43
+
* sql_server_instance_name
44
+
45
+
### CPU Utilization
46
+
47
+
Description: CPU utilization over time.\
48
+
Dataset Name: SqlServerCPUUtilization\
49
+
Collection Frequency: 10 seconds\
50
+
**Collected Fields:**
51
+
52
+
* avg_cpu_percent
53
+
* idle_cpu_percent
54
+
* machine_name
55
+
* other_process_cpu_percent
56
+
* process_sample_time_utc
57
+
* sample_time_utc
58
+
* sql_process_cpu_percent
59
+
* sql_server_instance_name
60
+
61
+
### Database Properties
62
+
63
+
Description: Includes database options and other database metadata.\
64
+
Dataset Name: SqlServerDatabaseProperties\
65
+
Collection Frequency: 5 Minutes\
66
+
**Collected Fields:**
67
+
68
+
* collation_name
69
+
* collection_time_utc
70
+
* compatibility_level
71
+
* containment_desc
72
+
* count_suspect_pages
73
+
* create_date
74
+
* database_id
75
+
* database_name
76
+
* delayed_durability_desc
77
+
* force_last_good_plan_actual_state
78
+
* is_accelerated_database_recovery_on
79
+
* is_auto_create_stats_on
80
+
* is_auto_shrink_on
81
+
* is_auto_update_stats_async_on
82
+
* is_auto_update_stats_on
83
+
* is_broker_enabled
84
+
* is_cdc_enabled
85
+
* is_change_feed_enabled
86
+
* is_distributor
87
+
* is_encrypted
88
+
* is_in_standby
89
+
* is_ledger_on
90
+
* is_merge_published
91
+
* is_parameterization_forced
92
+
* is_primary_replica
93
+
* is_published
94
+
* is_read_committed_snapshot_on
95
+
* is_read_only
96
+
* is_subscribed
97
+
* last_good_checkdb_time
98
+
* log_reuse_wait_desc
99
+
* machine_name
100
+
* notable_db_scoped_configs
101
+
* page_verify_option_desc
102
+
* query_store_actual_state_desc
103
+
* query_store_query_capture_mode_desc
104
+
* recovery_model_desc
105
+
* sample_time_utc
106
+
* snapshot_isolation_state
107
+
* sql_server_instance_name
108
+
* state_desc
109
+
* updateability
110
+
* user_access_desc
111
+
112
+
### Database Storage Utilization
113
+
114
+
Description: Includes its storage usage and persistent version store.\
Description: Includes cumulative IOPS, throughput, and latency statistics.\
238
+
Dataset Name: SqlServerStorageIO\
239
+
Collection Frequency: 10 seconds\
240
+
**Collected Fields:**
241
+
242
+
* database_id
243
+
* database_name
244
+
* file_id
245
+
* file_max_size_mb
246
+
* file_size_mb
247
+
* file_type
248
+
* io_stall_queued_read_ms
249
+
* io_stall_queued_write_ms
250
+
* io_stall_read_ms
251
+
* io_stall_write_ms
252
+
* machine_name
253
+
* num_of_bytes_read
254
+
* num_of_bytes_written
255
+
* num_of_reads
256
+
* num_of_writes
257
+
* sample_time_utc
258
+
* size_on_disk_bytes
259
+
* sql_server_instance_name
260
+
261
+
### Wait Stats
262
+
263
+
Description: Includes wait types and wait statistics for the database engine instance.\
264
+
Dataset Name: SqlServerWaitStats\
265
+
Collection Frequency: 10 seconds\
266
+
**Collected Fields:**
267
+
268
+
* machine_name
269
+
* max_wait_time_ms
270
+
* resource_wait_time_ms
271
+
* sample_time_utc
272
+
* signal_wait_time_ms
273
+
* sql_server_instance_name
274
+
* wait_category
275
+
* wait_time_ms
276
+
* wait_type
277
+
* waiting_tasks_count
278
+
22
279
## Disable or enable collection
23
280
24
281
> [!IMPORTANT]
25
-
> In order to disable or enable data collection, the `sqlServer` extension must be on `v1.1.2491` or later. [Upgrade VM extensions using the Azure Portal.](/azure/azure-arc/servers/manage-vm-extensions-portal)
282
+
> In order to disable or enable data collection, the `sqlServer` extension must be on `v1.1.2496` or later. [Upgrade VM extensions using the Azure Portal.](/azure/azure-arc/servers/manage-vm-extensions-portal)
26
283
27
284
### Disable monitoring data collection
28
285
29
286
Run the following command in the Azure CLI to disable monitoring data collection for your Azure Arc-enabled SQL Server. Replace the placeholders for subscription ID, resource group, and resource name:
30
287
31
-
32
288
```azurecli
33
289
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
34
290
```
@@ -41,24 +297,9 @@ To enable the monitoring data collection for an Azure Arc-enabled SQL Server, ru
41
297
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
42
298
```
43
299
44
-
## Collected data
45
-
46
-
The following table identifies monitoring data that is collected from DMV datasets on Azure Arc-enabled SQL Server when the monitoring feature is enabled. No personally identifiable information (PII), end-user identifiable information (EUII), or customer content is collected.
|sqlserver_active_sessions|Sessions running a request, is a blocker, or has an open transaction|30 seconds|<li>sample_time_utc<li>sql_server_instance_name<li>machine_name<li>database_id<li>database_name<li>session_id<li>session_status<li>connection_id|
51
-
|sqlserver_cpu_utilization|CPU utilization over time.|10 seconds|<li>sample_time_utc<li>process_sample_time_utc<li>sql_server_instance_name<li>machine_name<li>avg_cpu_percent<li>sql_process_cpu_percent<li>other_process_cpu_percent<li>idle_cpu_percent|
52
-
|sqlserver_database_properties|Includes database options and other database metadata.|5 minutes|<li>sample_time_utc<li>collection_time_utc<li>sql_server_instance_name<li>machine_name<li>database_id<li>database_name<li>is_primary_replica<li>create_date<li>compatibility_level<li>collation_name<li>user_access_desc<li>is_read_only<li>updateability<li>is_auto_shrink_on<li>state_desc<li>is_in_standby<li>snapshot_isolation_state<li>is_read_committed_snapshot_on<li>recovery_model_desc<li>page_verify_option_desc<li>is_auto_create_stats_on<li>is_auto_update_stats_on<li>is_auto_update_stats_async_on<li>is_parameterization_forced<li>is_published<li>is_subscribed<li>is_merge_published<li>is_distributor<li>is_broker_enabled<li>log_reuse_wait_desc<li>containment_desc<li>is_cdc_enabled<li>is_encrypted<li>delayed_durability_desc<li>is_accelerated_database_recovery_on<li>last_good_checkdb_time<li>notable_db_scoped_configs<li>query_store_actual_state_desc<li>query_store_query_capture_mode_desc<li>force_last_good_plan_actual_state<li>count_suspect_pages<li>is_ledger_on<li>is_change_feed_enabled|
53
-
|sqlserver_database_storage_utilization|Includes its storage usage and persistent version store.|1 minute|<li>sample_time_utc<li>collection_time_utc<li>sql_server_instance_name<li>machine_name<li>database_id<li>database_name<li>is_primary_replica<li>data_size_used_mb<li>data_size_allocated_mb<li>count_data_files<li>log_size_used_mb<li>log_size_allocated_mb<li>count_log_files<li>persistent_version_store_size_mb<li>online_index_version_store_size_mb|
54
-
|sqlserver_memory_utilization|Memory clerks and memory consumption by the clerk.|10 seconds|<li>sample_time_utc<li>sql_server_instance_name<li>machine_name<li>memory_clerk_type<li>memory_clerk_name<li>memory_size_mb|
55
-
|sqlserver_performance_counters_common|Includes common performance counters recorded by SQL Server.|10 seconds|<b>List of common counters:</b> <li>Background writer pages/sec<li>Buffer cache hit ratio<li>Checkpoint pages/sec<li>Lazy writes/sec<li>Page reads/sec<li>Page writes/sec<li>Readahead pages/sec<li>Page life expectancy<li>Log Bytes Flushed/sec<li>Transactions/sec<li>Write Transactions/sec<li>Active Transactions<li>Log Flushes/sec<li>Active Temp Tables<li>Logical Connections<li>Logins/sec<li>Logouts/sec<li>Processes blocked<li>User Connections<li>Temp Tables Creation Rate<li>Latch Waits/sec<li>Number of Deadlocks/sec<li>Target Server Memory (KB)<li>Total Server Memory (KB)<li>Granted Workspace Memory (KB)<li>Lock Memory (KB)<li>Cache Hit Ratio<li>Errors/sec<li>Batch Requests/sec<li>SQL Attention rate<li>SQL Compilations/sec<li>SQL Re-Compilations/sec<li>Free Space in tempdb (KB)<li>Out of memory count<li>System memory signal state high<li>System memory signal state low<li>OS available physical memory (KB)<li>Process physical memory in use (KB)<li>Locked page allocations (KB)<li>Process physical memory low |
56
-
|sqlserver_performance_counters_detailed|Includes detailed performance counters recorded by SQL Server.|10 seconds|<b>List of detailed counters:</b> <li>Page lookups/sec"<li>Free list stalls/sec"<li>Database pages"<li>Local node page lookups/sec"<li>Remote node page lookups/sec"<li>Log Growths"<li>Bulk Copy Rows/sec"<li>Bulk Copy Throughput/sec"<li>Shrink Data Movement Bytes/sec"<li>Log Shrinks"<li>Log File(s) Used Size (KB)"<li>Log File(s) Size (KB)"<li>Data File(s) Size (KB)"<li>Backup/Restore Throughput/sec"<li>Log Flush Wait Time"<li>XTP Memory Used (KB)"<li>Percent Log Used"<li>Temp Tables For Destruction"<li>Average Wait Time (ms)"<li>Lock Timeouts (timeout > 0)/sec"<li>Connection Memory (KB)"<li>Optimizer Memory (KB)"<li>Cache Object Counts"<li>Errors/sec"<li>Failed Auto-Params/sec"<li>Version Cleanup rate (KB/s)"<li>Version Generation rate (KB/s)"<li>Version Store Size (KB)"<li>Large page allocations (KB)"<li>Process virtual memory low" |
57
-
|sqlserver_storage_io|Includes cumulative IOPS, throughput, and latency statistics.|10 seconds|<li>sample_time_utc<li>sql_server_instance_name<li>machine_name<li>database_id<li>database_name<li>file_id<li>file_type<li>file_size_mb<li>file_max_size_mb<li>io_stall_read_ms<li>num_of_reads<li>num_of_bytes_read<li>io_stall_write_ms<li>num_of_writes<li>num_of_bytes_written<li>io_stall_queued_read_ms<li>io_stall_queued_write_ms<li>size_on_disk_bytes|
58
-
|sqlserver_wait_stats|Includes wait types and wait statistics for the database engine instance.|10 seconds|<li>sample_time_utc<li>sql_server_instance_name<li>machine_name<li>wait_type<li>wait_time_ms<li>resource_wait_time_ms<li>signal_wait_time_ms<li>max_wait_time_ms<li>waiting_tasks_count<li>wait_category|
59
-
60
300
## Limitations
61
-
- After adding or removing a SQL instance on your Windows machine, you must restart the sqlServer extension service for the update to take effect.
301
+
302
+
* After adding or removing a SQL instance on your Windows machine, you must restart the sqlServer extension service for the update to take effect.
0 commit comments