Skip to content

Commit 7bcb85e

Browse files
authored
Merge pull request #28972 from lcwright/release-arc-data
Initial draft for November release
2 parents 057f386 + 7739fba commit 7bcb85e

5 files changed

Lines changed: 283 additions & 45 deletions

File tree

docs/sql-server/azure-arc/includes/features-edition.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@ The following table identifies features available by SQL Server edition:
2121
| [Automated patching](../patch.md) | Yes | Yes | Yes | Yes | Yes | Yes |
2222
| [Failover cluster instances (preview)](../support-for-fci.md)| Yes | Yes | Not applicable | Not applicable | Yes | Not applicable |
2323
| [Always On availability groups (preview)](../manage-availability-group.md)| Yes | Yes | Not applicable | Not applicable | Yes | Not applicable |
24+
| [Monitoring (preview)](../sql-monitoring.md)| Yes | Yes | No | No | No | No |
2425

2526
<sup>1</sup> [Express LocalDB isn't supported.](/azure/purview/register-scan-on-premises-sql-server#supported-capabilities)

docs/sql-server/azure-arc/includes/features-operating-system.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,6 @@ The following table identifies features available by operating system:
2424
| [SQL Server 2012 extended security updates](../../end-of-support/sql-server-extended-security-updates.md) | Yes | Not applicable |
2525
| [Failover cluster instances (preview)](../support-for-fci.md) | Yes | Not applicable |
2626
| [Always On availability groups (preview)](../manage-availability-group.md) | Yes | Not applicable |
27+
| [Monitoring (preview)](../sql-monitoring.md) | Yes | No |
2728

2829
<sup>1</sup> [!INCLUDE [sssql22-md](../../../includes/sssql22-md.md)] only.

docs/sql-server/azure-arc/includes/features-version.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,6 @@ The following table identifies features available by SQL Server version:
2222
| [Automated patching](../patch.md) | Yes <sup>1</sup> | Yes | Yes | Yes | Yes | Yes |
2323
| [Failover cluster instances (preview)](../support-for-fci.md)| Yes | Yes | Yes | Yes | Yes | Yes |
2424
| [Always On availability groups (preview)](../manage-availability-group.md) | Yes | Yes | Yes | Yes | Yes | Yes |
25+
| [Monitoring (preview)](../sql-monitoring.md) | Yes | Yes | Yes | Yes | Yes | Yes |
2526

26-
<sup>1</sup> Requires subscription to [Extended Security Updates (ESU) enabled by Azure Arc](../../end-of-support/sql-server-extended-security-updates.md#subscribe-to-extended-security-updates-enabled-by-azure-arc).
27+
<sup>1</sup> Requires subscription to [Extended Security Updates (ESU) enabled by Azure Arc](../../end-of-support/sql-server-extended-security-updates.md#subscribe-to-extended-security-updates-enabled-by-azure-arc).

docs/sql-server/azure-arc/includes/license-types.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,6 @@ The following table identifies features enabled depending on license type:
2121
|[Automated patching](../patch.md)|No |Yes |Yes |
2222
|[Failover cluster instances (preview)](../support-for-fci.md) |Yes | Yes | Yes|
2323
|[Always On availability groups (preview)](../manage-availability-group.md) |Yes | Yes | Yes|
24+
|[Monitoring (preview)](../sql-monitoring.md) |No |Yes |Yes|
2425

2526
<sup>1</sup> License only includes SQL Server instances that are Developer, Express, Web, or Evaluation Edition and instances using a Server/CAL license.
Lines changed: 278 additions & 44 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 monitoring capabilities of Azure Arc-enabled SQL Server.
44
author: lcwright
55
ms.author: lancewright
66
ms.reviewer: mikeray
@@ -10,75 +10,309 @@ ms.topic: conceptual
1010

1111
# Monitor Azure Arc-enabled SQL Server
1212

13-
Microsoft Azure Arc-enabled SQL Server can post monitoring data to Azure. This feature is not currently available, but will be enabled in a future release. When it is available, the feature is automatic in order to allow you to view monitoring data in Azure portal.
13+
Monitor the performance of Azure Arc-enabled SQL Server within the Azure portal. Performance metrics are automatically collected from DMV datasets on eligible Azure Arc-enabled SQL Server 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.
1414

15-
This article explains how to prevent your Arc-enabled SQL Server instances from posting monitoring data to Azure. It also describes the data that is posted in the future feature.
15+
## Prerequisites
1616

17-
## Disable or enable collection
17+
In order for monitoring data to be collected on an Azure Arc-enabled SQL Server, the following conditions must be met:
1818

19-
> [!IMPORTANT]
20-
> In order to disable or enable data collection, the `sqlServer` extension must be on `v1.1.2451.59` or later. [Upgrade VM extensions using the Azure Portal.](/azure/azure-arc/servers/manage-vm-extensions-portal)
19+
* The version of Azure Extension for SQL Server (WindowsAgent.SqlServer) is update to the November release or later. (See [Release Notes](../azure-arc/release-notes.md))
20+
* Azure Arc-enabled SQL Server is running on Windows operating system
21+
* Azure Arc-enabled SQL Server is a Standard or Enterprise Edition
22+
* The license type on the Azure Arc-enabled SQL Server is set to "License with Software Assurance" or "Pay-as-you-go"
23+
24+
## Collected data
25+
26+
The following lists reflect the 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.
27+
28+
### Active Sessions
29+
30+
Description: Sessions running a request, is a blocker, or has an open transaction.\
31+
Dataset Name: SqlServerActiveSessions\
32+
Collection Frequency: 30 seconds\
33+
**Collected Fields:**
34+
35+
* connection_id
36+
* database_id
37+
* database_name
38+
* machine_name
39+
* sample_time_utc
40+
* session_id
41+
* session_status
42+
* sql_server_instance_name
43+
44+
### CPU Utilization
45+
46+
Description: CPU utilization over time.\
47+
Dataset Name: SqlServerCPUUtilization\
48+
Collection Frequency: 10 seconds\
49+
**Collected Fields:**
50+
51+
* avg_cpu_percent
52+
* idle_cpu_percent
53+
* machine_name
54+
* other_process_cpu_percent
55+
* process_sample_time_utc
56+
* sample_time_utc
57+
* sql_process_cpu_percent
58+
* sql_server_instance_name
59+
60+
### Database Properties
61+
62+
Description: Includes database options and other database metadata.\
63+
Dataset Name: SqlServerDatabaseProperties\
64+
Collection Frequency: 5 minutes\
65+
**Collected Fields:**
66+
67+
* collation_name
68+
* collection_time_utc
69+
* compatibility_level
70+
* containment_desc
71+
* count_suspect_pages
72+
* create_date
73+
* database_id
74+
* database_name
75+
* delayed_durability_desc
76+
* force_last_good_plan_actual_state
77+
* is_accelerated_database_recovery_on
78+
* is_auto_create_stats_on
79+
* is_auto_shrink_on
80+
* is_auto_update_stats_async_on
81+
* is_auto_update_stats_on
82+
* is_broker_enabled
83+
* is_cdc_enabled
84+
* is_change_feed_enabled
85+
* is_distributor
86+
* is_encrypted
87+
* is_in_standby
88+
* is_ledger_on
89+
* is_merge_published
90+
* is_parameterization_forced
91+
* is_primary_replica
92+
* is_published
93+
* is_read_committed_snapshot_on
94+
* is_read_only
95+
* is_subscribed
96+
* last_good_checkdb_time
97+
* log_reuse_wait_desc
98+
* machine_name
99+
* notable_db_scoped_configs
100+
* page_verify_option_desc
101+
* query_store_actual_state_desc
102+
* query_store_query_capture_mode_desc
103+
* recovery_model_desc
104+
* sample_time_utc
105+
* snapshot_isolation_state
106+
* sql_server_instance_name
107+
* state_desc
108+
* updateability
109+
* user_access_desc
110+
111+
### Database Storage Utilization
112+
113+
Description: Includes its storage usage and persistent version store.\
114+
Dataset Name: SqlServerDatabaseStorageUtilization\
115+
Collection Frequency: 1 minute\
116+
**Collected Fields:**
117+
118+
* collection_time_utc
119+
* count_data_files
120+
* count_log_files
121+
* data_size_allocated_mb
122+
* data_size_used_mb
123+
* database_id
124+
* database_name
125+
* is_primary_replica
126+
* log_size_allocated_mb
127+
* log_size_used_mb
128+
* machine_name
129+
* online_index_version_store_size_mb
130+
* persistent_version_store_size_mb
131+
* sample_time_utc
132+
* sql_server_instance_name
133+
134+
### Memory Utilization
135+
136+
Description: Memory clerks and memory consumption by the clerk.\
137+
Dataset Name: SqlServerMemoryUtilization\
138+
Collection Frequency: 10 seconds\
139+
**Collected Fields:**
140+
141+
* machine_name
142+
* memory_size_mb
143+
* memory_clerk_name
144+
* memory_clerk_type
145+
* sample_time_utc
146+
* sql_server_instance_name
21147

22-
### Enable the feature flag
148+
### Performance Counters (Common)
23149

24-
Prior to disabling or enabling monitoring data collection, you must first enable the `SqlManagement` feature flag. This is a feature flag that will automatically be enabled in a future release. However, it is required to toggle the `monitoring.enabled` property on your Arc-enabled SQL Server using the Azure CLI.
150+
Description: Includes common performance counters recorded by SQL Server.\
151+
Dataset Name: SqlServerPerformanceCountersCommon\
152+
Collection Frequency: 1 minute\
153+
**Collected Counters:**
25154

26-
1. Download the [`set-feature-flags.ps1`](https://github.com/microsoft/sql-server-samples/tree/master/samples/manage/azure-arc-enabled-sql-server/monitoring/set-feature-flags.ps1) PowerShell script from GitHub.
155+
* Active Temp Tables
156+
* Active Transactions
157+
* Background writer pages/sec
158+
* Batch Requests/sec
159+
* Buffer cache hit ratio
160+
* Cache Hit Ratio
161+
* Checkpoint pages/sec
162+
* Errors/sec
163+
* Free Space in tempdb (KB)
164+
* Granted Workspace Memory (KB)
165+
* Latch Waits/sec
166+
* Lazy writes/sec
167+
* Lock Memory (KB)
168+
* Locked page allocations (KB)
169+
* Log Bytes Flushed/sec
170+
* Log Flushes/sec
171+
* Logical Connections
172+
* Logins/sec
173+
* Logouts/sec
174+
* Number of Deadlocks/sec
175+
* OS available physical memory (KB)
176+
* Out of memory count
177+
* Page life expectancy
178+
* Page reads/sec
179+
* Page writes/sec
180+
* Process physical memory in use (KB)
181+
* Process physical memory low
182+
* Processes blocked
183+
* Readahead pages/sec
184+
* SQL Attention rate
185+
* SQL Compilations/sec
186+
* SQL Re-Compilations/sec
187+
* System memory signal state high
188+
* System memory signal state low
189+
* Target Server Memory (KB)
190+
* Temp Tables Creation Rate
191+
* Total Server Memory (KB)
192+
* Transactions/sec
193+
* User Connections
194+
* Write Transactions/sec
27195

28-
1. Configure and run `set-feature-flags.ps1` in a PowerShell terminal on your Azure Arc-enabled Server.
196+
### Performance Counters (Detailed)
29197

30-
```powershell
31-
set-feature-flags.ps1 `
32-
-Subscription "<Your-subscription-ID>" `
33-
-ResourceGroup "contoso-rg" `
34-
-MachineName "contoso-sql-host" `
35-
-FeatureFlagsToEnable ("SqlManagement")
36-
```
198+
Description: Includes detailed performance counters recorded by SQL Server.\
199+
Dataset Name: SqlServerPerformanceCountersDetailed\
200+
Collection Frequency: 1 minute\
201+
**Collected Counters:**
37202

38-
### Disable monitoring data collection
203+
* Average Wait Time (ms)
204+
* Backup/Restore Throughput/sec
205+
* Bulk Copy Rows/sec
206+
* Bulk Copy Throughput/sec
207+
* Cache Object Counts
208+
* Connection Memory (KB)
209+
* Data File(s) Size (KB)
210+
* Database pages
211+
* Errors/sec
212+
* Failed Auto-Params/sec
213+
* Free list stalls/sec
214+
* Large page allocations (KB)
215+
* Local node page lookups/sec
216+
* Lock Timeouts (timeout > 0)/sec
217+
* Log File(s) Size (KB)
218+
* Log File(s) Used Size (KB)
219+
* Log Flush Wait Time
220+
* Log Growths
221+
* Log Shrinks
222+
* Optimizer Memory (KB)
223+
* Page lookups/sec
224+
* Percent Log Used
225+
* Process virtual memory low
226+
* Remote node page lookups/sec
227+
* Shrink Data Movement Bytes/sec
228+
* Temp Tables For Destruction
229+
* Version Cleanup rate (KB/s)
230+
* Version Generation rate (KB/s)
231+
* Version Store Size (KB)
232+
* XTP Memory Used (KB)
39233

40-
After enabling the SqlManagement feature flag, 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:
234+
### Storage I/O
41235

236+
Description: Includes cumulative IOPS, throughput, and latency statistics.\
237+
Dataset Name: SqlServerStorageIO\
238+
Collection Frequency: 10 seconds\
239+
**Collected Fields:**
240+
241+
* database_id
242+
* database_name
243+
* file_id
244+
* file_max_size_mb
245+
* file_size_mb
246+
* file_type
247+
* io_stall_queued_read_ms
248+
* io_stall_queued_write_ms
249+
* io_stall_read_ms
250+
* io_stall_write_ms
251+
* machine_name
252+
* num_of_bytes_read
253+
* num_of_bytes_written
254+
* num_of_reads
255+
* num_of_writes
256+
* sample_time_utc
257+
* size_on_disk_bytes
258+
* sql_server_instance_name
259+
260+
### Wait Stats
261+
262+
Description: Includes wait types and wait statistics for the database engine instance.\
263+
Dataset Name: SqlServerWaitStats\
264+
Collection Frequency: 10 seconds\
265+
**Collected Fields:**
266+
267+
* machine_name
268+
* max_wait_time_ms
269+
* resource_wait_time_ms
270+
* sample_time_utc
271+
* signal_wait_time_ms
272+
* sql_server_instance_name
273+
* wait_category
274+
* wait_time_ms
275+
* wait_type
276+
* waiting_tasks_count
277+
278+
## Disable or enable collection
279+
280+
> [!IMPORTANT]
281+
> In order to disable or enable data collection, the `sqlServer` extension must be on the November release or later. (See [Release Notes](../azure-arc/release-notes.md))
282+
283+
### Using the Azure portal
284+
285+
* On the resource page for an Azure Arc-enabled SQL Server, select the "Performance Dashboard (preview)" section
286+
* At the top of the "Performance Dashboard" page, click the Configure button. A panel "Configure monitoring settings" will open on the right-hand side of the screen.
287+
* In the configure monitoring settings panel, toggle the option for monitoring data collection on or off.
288+
* Select Apply settings
289+
290+
### Using the Azure CLI
291+
292+
#### Disable monitoring data collection
293+
294+
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:
42295

43296
```azurecli
44297
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
45298
```
46299

47-
### Enable monitoring data collection
300+
#### Enable monitoring data collection
48301

49302
To enable the monitoring data collection for an Azure Arc-enabled SQL Server, run the following command in the Azure CLI. Replace the placeholders for subscription ID, resource group, and resource name:
50303

51-
52304
```azurecli
53305
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
54306
```
55307

56-
## Collected data
57-
58-
The following table identifies monitoring data that is planned for collection on Azure Arc-enabled SQL Server when this feature is released. No personally identifiable information (PII), end-user identifiable information, or customer content is collected.
59-
60-
|Dataset name|Description|
61-
|----|----|
62-
|Active sessions|Includes data on requests, blockers, and open transactions.|
63-
|CPU utilization|CPU utilization over time.|
64-
|Database properties|Includes database options and other database metadata.|
65-
|Database storage utilization|Includes its storage usage and persistent version store.|
66-
|Memory utilization|Memory clerks and memory consumption by the clerk.|
67-
|Performance counters (common & detailed)|Includes performance counters (both common and detailed) recorded by SQL Server.|
68-
|Storage IO|Includes cumulative IOPS, throughput, and latency statistics.|
69-
|Wait statistics|Includes wait types and wait statistics for the database engine instance.|
308+
Please note that this command might run successfully, but all requirements in the [Prerequisites section](#prerequisites) must be met for monitoring data to be collected and shown in the Azure portal.
70309

71310
## Limitations
72-
73-
Initially, the monitoring data is:
74311

75-
- Collected only for Enterprise Edition and Standard Edition instances of SQL Server.
76-
- Only enabled for SQL Server instances with Software Assurance or pay-as-you-go licensing.
77-
- Only available for SQL Server instances on Windows.
312+
* After adding or removing a SQL Server instance on your Windows machine, you must restart the Microsoft Sql Server (sqlServerExtension) extension service for the update to take effect. This restart is only required to add/remove the instance from monitoring collection.
78313

79314
## Next steps
80315

81-
- [Azure Arc-enabled SQL Server and Databases activity logs](activity-logs.md)
82-
- [Azure Arc-enabled SQL Server data collection and reporting](data-collection.md)
83-
84-
316+
* [Azure Arc-enabled SQL Server and Databases activity logs](activity-logs.md)
317+
* [Azure Arc-enabled SQL Server data collection and reporting](data-collection.md)
318+
* [Dynamic management views (DMVs)](../../relational-databases/system-dynamic-management-views/system-dynamic-management-views.md)

0 commit comments

Comments
 (0)