Skip to content

Commit b9290c2

Browse files
committed
Updaes data collection. Adds intro.
1 parent 6b6e79f commit b9290c2

1 file changed

Lines changed: 264 additions & 23 deletions

File tree

docs/sql-server/azure-arc/sql-monitoring.md

Lines changed: 264 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
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
44
author: lcwright
55
ms.author: lancewright
66
ms.reviewer: mikeray
@@ -9,26 +9,282 @@ ms.topic: conceptual
99
---
1010

1111
# Monitor Azure Arc-enabled SQL Server
12-
<TO DO>
1312

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+
1517
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
1720
* Azure Arc-enabled SQL Servers must be running on Windows operating system
1821
* Azure Arc-enabled SQL Servers must be a Standard or Enterprise (Core) Edition
1922
* The license type on the Azure Arc-enabled SQL Server must be set to "License with Software Assurance" or "Pay-as-you-go"
2023
* The SQL Server built-in login NT AUTHORITY\SYSTEM must be the member of SQL Server sysadmin server role
2124

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.\
115+
Dataset Name: SqlServerDatabaseStorageUtilization\
116+
Collection Frequency: 1 Minute\
117+
**Collected Fields:**
118+
119+
* collection_time_utc
120+
* count_data_files
121+
* count_log_files
122+
* data_size_allocated_mb
123+
* data_size_used_mb
124+
* database_id
125+
* database_name
126+
* is_primary_replica
127+
* log_size_allocated_mb
128+
* log_size_used_mb
129+
* machine_name
130+
* online_index_version_store_size_mb
131+
* persistent_version_store_size_mb
132+
* sample_time_utc
133+
* sql_server_instance_name
134+
135+
### Memory Utilization
136+
137+
Description: Memory clerks and memory consumption by the clerk.\
138+
Dataset Name: SqlServerMemoryUtilization\
139+
Collection Frequency: 10 seconds\
140+
**Collected Fields:**
141+
142+
* machine_name
143+
* memory_size_mb
144+
* memory_clerk_name
145+
* memory_clerk_type
146+
* sample_time_utc
147+
* sql_server_instance_name
148+
149+
### Performance Counters (Common)
150+
151+
Description: Includes common performance counters recorded by SQL Server.\
152+
Dataset Name: SqlServerPerformanceCountersCommon\
153+
Collection Frequency: 10 seconds\
154+
**Collected Counters:**
155+
156+
* Active Temp Tables
157+
* Active Transactions
158+
* Background writer pages/sec
159+
* Batch Requests/sec
160+
* Buffer cache hit ratio
161+
* Cache Hit Ratio
162+
* Checkpoint pages/sec
163+
* Errors/sec
164+
* Free Space in tempdb (KB)
165+
* Granted Workspace Memory (KB)
166+
* Latch Waits/sec
167+
* Lazy writes/sec
168+
* Lock Memory (KB)
169+
* Locked page allocations (KB)
170+
* Log Bytes Flushed/sec
171+
* Log Flushes/sec
172+
* Logical Connections
173+
* Logins/sec
174+
* Logouts/sec
175+
* Number of Deadlocks/sec
176+
* OS available physical memory (KB)
177+
* Out of memory count
178+
* Page life expectancy
179+
* Page reads/sec
180+
* Page writes/sec
181+
* Process physical memory in use (KB)
182+
* Process physical memory low
183+
* Processes blocked
184+
* Readahead pages/sec
185+
* SQL Attention rate
186+
* SQL Compilations/sec
187+
* SQL Re-Compilations/sec
188+
* System memory signal state high
189+
* System memory signal state low
190+
* Target Server Memory (KB)
191+
* Temp Tables Creation Rate
192+
* Total Server Memory (KB)
193+
* Transactions/sec
194+
* User Connections
195+
* Write Transactions/sec
196+
197+
### Performance Counters (Detailed)
198+
199+
Description: Includes detailed performance counters recorded by SQL Server.\
200+
Dataset Name: SqlServerPerformanceCountersDetailed\
201+
Collection Frequency: 10 seconds\
202+
**Collected Counters:**
203+
204+
* Average Wait Time (ms)
205+
* Backup/Restore Throughput/sec
206+
* Bulk Copy Rows/sec
207+
* Bulk Copy Throughput/sec
208+
* Cache Object Counts
209+
* Connection Memory (KB)
210+
* Data File(s) Size (KB)
211+
* Database pages
212+
* Errors/sec
213+
* Failed Auto-Params/sec
214+
* Free list stalls/sec
215+
* Large page allocations (KB)
216+
* Local node page lookups/sec
217+
* Lock Timeouts (timeout > 0)/sec
218+
* Log File(s) Size (KB)
219+
* Log File(s) Used Size (KB)
220+
* Log Flush Wait Time
221+
* Log Growths
222+
* Log Shrinks
223+
* Optimizer Memory (KB)
224+
* Page lookups/sec
225+
* Percent Log Used
226+
* Process virtual memory low
227+
* Remote node page lookups/sec
228+
* Shrink Data Movement Bytes/sec
229+
* Temp Tables For Destruction
230+
* Version Cleanup rate (KB/s)
231+
* Version Generation rate (KB/s)
232+
* Version Store Size (KB)
233+
* XTP Memory Used (KB)
234+
235+
### Storage I/O
236+
237+
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+
22279
## Disable or enable collection
23280

24281
> [!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)
26283
27284
### Disable monitoring data collection
28285

29286
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:
30287

31-
32288
```azurecli
33289
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
34290
```
@@ -41,24 +297,9 @@ To enable the monitoring data collection for an Azure Arc-enabled SQL Server, ru
41297
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
42298
```
43299

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.
47-
48-
|DMV Name|Description|Collection Frequency|Collected Fields
49-
|----|----|----|----|
50-
|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-
60300
## 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.
62303

63304
## Next steps
64305

0 commit comments

Comments
 (0)