-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Expand file tree
/
Copy pathdatabase-watcher-faq.yml
More file actions
180 lines (142 loc) · 15 KB
/
database-watcher-faq.yml
File metadata and controls
180 lines (142 loc) · 15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
### YamlMime:FAQ
metadata:
title: Database watcher FAQ
titleSuffix: Azure SQL Database & SQL Managed Instance
description: Frequently asked questions about database watcher for Azure SQL
author: lcwright
ms.author: lancewright
ms.date: 09/29/2025
ms.reviewer: wiassaf, dfurman
ms.service: azure-sql
ms.subservice: monitoring
ms.topic: faq
ms.custom: subject-monitoring
monikerRange: "=azuresql||=azuresql-db||=azuresql-mi"
title: Database watcher FAQ (preview)
summary: |
[!INCLUDE [sqldb-sqlmi](./includes/appliesto-sqldb-sqlmi.md)]
This article provides answers to frequently asked questions about database watcher for Azure SQL. It is intended for readers who have a general understanding of Azure SQL, and are looking for answers to specific, commonly asked questions about database watcher.
For an overview of database watcher, see [Monitor Azure SQL workloads with database watcher (preview)](database-watcher-overview.md).
sections:
- name: General
questions:
- question: |
What is database watcher?
answer: |
Database watcher (preview) is a managed monitoring solution for database services in the Azure SQL family. It collects in-depth monitoring data from Azure SQL resources and ingests it into an [Azure Data Explorer](/azure/data-explorer/data-explorer-overview) database, or into a [Real-Time Analytics](/fabric/real-time-analytics/overview) database in Microsoft Fabric. Estate and resource-level [dashboards](database-watcher-overview.md#dashboards) provide detailed data visualizations in the Azure portal. Customers retain full control over collected data and can query, analyze, export, visualize, and integrate it with downstream systems.
- question: |
What Azure SQL resources can it monitor?
answer: |
At this time, database watcher can monitor Azure SQL databases, elastic pools, and SQL managed instances. All service tiers, compute tiers, and purchasing models of Azure SQL Database and Azure SQL Managed Instance are supported.
- question: |
Does database watcher support other SQL offerings in Azure or on-premises, or other database services?
answer: |
Not at this time. For planned improvements to database watcher, see the roadmap section in the database watcher [preview announcement](https://aka.ms/dbwatcher-preview-announcement). For more information about performance monitoring for Arc-enabled SQL Server, see [Monitor SQL Server enabled by Azure Arc (preview)](/sql/sql-server/azure-arc/sql-monitoring).
- question: |
What kind of data visualization solutions can I use with database watcher?
answer: |
Database watcher provides detailed visualizations using [Azure Workbooks](/azure/azure-monitor/visualize/workbooks-overview) in the Azure portal. In addition, you can create dashboards in Azure Data Explorer or Real-Time Analytics, create visualizations in Power BI, Grafana, or use any other data visualization solution that [supports](/azure/data-explorer/viz-overview) connectivity to Azure Data Explorer or Real-Time Analytics.
- question: |
Does database watcher support alerts?
answer: |
Yes. You can create Azure Monitor alert rules from included templates and customize them to your needs. For more information, see [Database watcher alerts](database-watcher-alerts.md).
- question: |
How much does it cost?
answer: |
See [Database watcher price](database-watcher-overview.md#database-watcher-price). There is no per-database or per-user cost, and no license cost.
- question: |
Are there any limits?
answer: |
Yes, at this time there is a limit on the number of watchers per subscription, and on the number of SQL targets per watcher. For more information, see [Limits](database-watcher-overview.md#limits).
- question: |
Can I monitor a large Azure SQL estate?
answer: Yes. For more information, see [Monitor large estates](database-watcher-manage.md#monitor-large-estates).
- question: |
Does it support cross-subscription and cross-tenant monitoring?
answer: The watcher and the SQL target it monitors can be in different subscriptions within the same Microsoft Entra ID tenant. Similarly, if the watcher is using a database on an Azure Data Explorer cluster as its data store, the cluster must be in any subscription within the same tenant as the watcher. If you want to monitor SQL targets in multiple tenants using a single data store, create a watcher in each tenant, and use a database in either [Real-Time Analytics](/fabric/real-time-analytics/overview) or on a [free Azure Data Explorer cluster](/azure/data-explorer/start-for-free) as the data store for all watchers. For more information, see [Monitor large estates](database-watcher-manage.md#monitor-large-estates).
- name: Watcher
questions:
- question: |
Can I create and configure a watcher using Bicep, an ARM template, or Terraform?
answer: Yes. See [Create a watcher](/samples/azure/azure-quickstart-templates/create-watcher/) for Bicep and ARM template examples you can customize to your needs. See [Azure resource reference](/azure/templates/microsoft.databasewatcher/watchers) documentation for Bicep, ARM template, and Terraform resource definitions.
- question: |
Can I create and configure a watcher with PowerShell or Azure CLI?
answer: Not at this time. You can create and configure watchers in the Azure portal, using [Bicep](/azure/azure-resource-manager/bicep/overview) and ARM templates, or using [REST API](/rest/api/databasewatcher). For planned improvements to database watcher, see the roadmap section in the database watcher [preview announcement](https://aka.ms/dbwatcher-preview-announcement).
- question: |
Does a watcher have an identity I can use to grant it access to my Azure resources?
answer: Yes. You can use either a system assigned or a user assigned managed identity. Grant access to this identity to allow a watcher to [collect](database-watcher-manage.md#grant-access-to-sql-targets) and [ingest](database-watcher-manage.md#grant-access-to-data-store) data. Revoke access at any time to stop collection of monitoring data.
- question: |
Are there any built-in RBAC roles or actions specific to database watcher?
answer: Not at this time. Viewing the watcher resource requires the assignment of the **Reader** RBAC role. Operations such as creating, starting, stopping a watcher, or creating/removing targets and the data store require the assignment of **Contributor** or **Owner** Azure RBAC roles. Role assignments can be made at the watcher, resource group, subscription, or management group level.
- question: |
What permissions are required to access database watcher dashboards?
answer: To access dashboards, users require the [assignment](/azure/role-based-access-control/role-assignments-portal) of the **Reader** RBAC role on the watcher resource or on a higher scope such as resource group, subscription, or management group. They also require the [assignment](database-watcher-manage.md#grant-users-and-groups-access-to-the-data-store) of the **Viewer** RBAC role on the Azure Data Explorer or Real-Time Analytics database. These assignments can be made directly or via Microsoft Entra ID group membership.
- name: Data store
questions:
- question: |
Which data services are supported as the data store for the SQL monitoring data?
answer: You can use a database on an [Azure Data Explorer cluster](/azure/data-explorer/data-explorer-overview), on a [free Azure Data Explorer cluster](/azure/data-explorer/start-for-free), or in [Real-Time Analytics](/fabric/real-time-analytics/overview) in Microsoft Fabric. To compare between these options, see [What is the difference between Real-Time Analytics and Azure Data Explorer?](/fabric/real-time-analytics/realtime-analytics-compare)
- question: |
I already have an Azure Data Explorer cluster. Can I use it as my watcher's data store?
answer: Yes, if [streaming ingestion](database-watcher-manage.md#streaming-ingestion) is enabled on this cluster. Create a new database and grant the managed identity of a watcher [access](database-watcher-manage.md#grant-access-to-data-store) to this database. For smaller cluster SKUs, and depending on the query and ingestion workloads already running, you might need to [scale](database-watcher-manage.md#scale-azure-data-explorer-cluster) the cluster to support the additional load.
- question: |
How can I query and analyze SQL monitoring data?
answer: You can use Kusto Query Language (KQL) to query this data. See [Use KQL to analyze monitoring data](database-watcher-analyze.md#use-kql-to-analyze-monitoring-data). KQL [provides](/azure/data-explorer/kusto/query/) many advantages for analyzing telemetry data. However, you do not need to learn KQL to use database watcher. You can connect to the data store using SQL Server Management Studio or any other SQL client tool, and [use T-SQL](database-watcher-analyze.md#use-t-sql-to-analyze-monitoring-data) to query your SQL monitoring data.
- question: |
Can I query SQL monitoring data in Azure Data Explorer from a Log Analytics workspace?
answer: Yes. You can execute a KQL query in a Log Analytics workspace that references tables in Azure Data Explorer. For more information, see [Correlate data in Azure Data Explorer with data in a Log Analytics workspace](/azure/azure-monitor/logs/azure-monitor-data-explorer-proxy).
- question: |
Can I export SQL monitoring data from Azure Data Explorer?
answer: Yes. For example, you can [export](/azure/data-explorer/kusto/management/data-export) data to Azure storage, a data lake, or a SQL Server or an Azure SQL database.
- question: |
What happens to the collected SQL monitoring data when I delete a SQL target?
answer: The data for the deleted SQL targets is retained in the data store according to the [retention policy](database-watcher-manage.md#manage-data-retention) for the database or table, and can be accessed via the dashboards and queries for historical purposes. For more information about deleting collected data from the data store before the retention period expires, see [Delete data](/kusto/concepts/delete-data). The summary page of the watcher uses the data in the data store, and shows recently deleted SQL targets for up to 72 hours.
- name: Data collection
questions:
- question: |
How does database watcher collect SQL monitoring data?
answer: A remote data collection agent running on a Microsoft managed compute hosting platform connects to your Azure SQL resources, periodically executes T-SQL queries to collect monitoring data from SQL system views, and ingests this data into the data store.
- question: |
Will database watcher affect my workload performance?
answer: This is unlikely. For details, see [Data collection](database-watcher-data.md#interaction-between-database-watcher-and-application-workloads).
- question: |
How often do the monitoring queries run?
answer: It depends on the [dataset](database-watcher-data.md#datasets). For example, frequently changing data such as performance counters might be collected every 10 seconds. Mostly static data such as database properties is collected at longer intervals, for example every five minutes.
- question: |
What is the typical data latency?
answer: The typical data latency from collection to ingestion into the data store is in the 0.5-10 second range. Latency might be higher for large datasets such as **Query runtime statistics**. You can see current data ingestion latency using the **Ingestion statistics** link on [dashboards](database-watcher-overview.md#dashboards).
- question: |
Does it monitor secondary replicas?
answer: Yes. All types of secondary replicas, including readable high availability replicas, geo-replicas, and Hyperscale named replicas are supported. If a Hyperscale database has more than one high availability replica, only one of these replicas is monitored at a given point in time.
- question: |
How does it connect to monitoring targets?
answer: Database watcher can use [Azure Private Link](/azure/private-link/private-link-overview) to connect to monitoring targets. When configuring a watcher, create managed private endpoints for your Azure SQL resources. The resource owner must approve each private endpoint for a watcher to use it. Public connectivity is supported as well. For more information, see [Network connectivity](database-watcher-overview.md#network-connectivity).
- question: |
How does it authenticate to monitoring targets?
answer: Both Microsoft Entra authentication (recommended) and SQL authentication are supported. If you use SQL authentication, [additional configuration](database-watcher-manage.md#additional-configuration-to-use-sql-authentication) to store the login name and password as secrets in a key vault is required.
- question: |
What kind of SQL monitoring data does it collect?
answer: Data is collected from more than 70 dynamic management views (DMVs) and catalog views into [datasets](database-watcher-data.md#datasets) to enable detailed database engine and query performance monitoring.
- question: |
Can I choose the datasets to be collected, and the frequency of collection?
answer: Not at this time. For planned improvements to database watcher, see the roadmap section in the database watcher [preview announcement](https://aka.ms/dbwatcher-preview-announcement).
- question: |
Can I add a custom dataset?
answer: Not at this time. Send us [feedback](database-watcher-overview.md#send-feedback) if you find the existing datasets insufficient.
- question: |
Can database watcher collect extended events?
answer: Not at this time. For planned improvements to database watcher, see the roadmap section in the database watcher [preview announcement](https://aka.ms/dbwatcher-preview-announcement).
- name: Feedback
questions:
- question: |
I have a comment or suggestion. Where do I send my feedback?
answer: |
See [Send feedback](database-watcher-overview.md#send-feedback). For database watcher technical support, [open a support case](https://azure.microsoft.com/support/create-ticket/).
additionalContent: |
## Related content
- [Monitor Azure SQL workloads with database watcher](database-watcher-overview.md)
- [Quickstart: Create a watcher to monitor Azure SQL](database-watcher-quickstart.md)
- [Create and configure a watcher](database-watcher-manage.md)
- [Database watcher data collection and datasets](database-watcher-data.md)
- [Analyze database watcher monitoring data](database-watcher-analyze.md)
- [Database watcher alerts](database-watcher-alerts.md)