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
Copy file name to clipboardExpand all lines: azure-sql/database-watcher-overview.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ description: An overview of database watcher for Azure SQL, a managed monitoring
5
5
author: lcwright
6
6
ms.author: lancewright
7
7
ms.reviewer: wiassaf, dfurman
8
-
ms.date: 04/09/2025
8
+
ms.date: 04/21/2025
9
9
ms.service: azure-sql
10
10
ms.subservice: monitoring
11
11
ms.topic: conceptual
@@ -211,6 +211,7 @@ This section describes recent database watcher fixes, changes, and improvements.
211
211
212
212
| Time period | Changes |
213
213
|:--|:--|
214
+
| April 2025 | - Fix a bug where a database watcher deployment via Bicep, an ARM template, Terraform, or REST API would fail if the **subscription ID**, **resource group name**, or **watcher name** deployment parameters used inconsistent casing.</br> - Fix a bug where collection of certain datasets for a **SQL database** target would stop if the database was restored from backup.</br> - Change to limit data collection in the **Table metadata** datasets for databases with many tables and for SQL managed instances with many databases to avoid long-running collection queries.</br> - Improve collection query performance for the **Session statistics** dataset for **SQL managed instance** targets. |
214
215
| February 2025 | - Add support for alerting. For more information, see [Database watcher alerts](database-watcher-alerts.md). |
215
216
| January 2025 | - Fix to make database watcher deployments via Bicep or ARM templates idempotent.</br> - Fix a bug where SQL Agent job history details on the SQL Managed Instance detailed dashboard weren't displayed.</br> - Fix a bug when filtering data on the **Sessions** charts on the detailed dashboards would cause KQL query errors.</br> - Fix a bug where storage throughput values on the detailed dashboards were incorrect.</br> - Improve storage utilization charts on the detailed dashboards to include the maximum storage size.</br> - Improve to show the original and compressed size of collected data in the **Data store** section.</br> - Improve the message shown when a dashboard cannot connect to the data store to include suggestions for common problems.</br> - Add informational messages when there is no data shown on the **Top queries** dashboards for known reasons.</br> - Add Hyperscale log rate limit information in the **Replicas** dataset for Azure SQL databases.</br> - Add transaction start time and log bytes used to the **Active sessions** datasets. |
216
217
| November 2024 | - Enable database watcher in the **Australia Central**, **Australia Southeast**, **Canada East**, **Central US**, **Germany West Central**, **Japan West**, **Korea Central**, and **North Central US** Azure regions.</br> - Increase the limit on the number of SQL targets per watcher from 50 to 100. |
@@ -249,7 +250,6 @@ During preview, database watcher has the following known issues.
249
250
| If you create a managed private endpoint for a watcher to connect to a SQL managed instance that is stopped, the provisioning state of the private endpoint is reported as **Failed**, and the watcher cannot connect to the instance. | Delete the managed private endpoint with the **Failed** provisioning state and [start](./managed-instance/instance-stop-start-how-to.md) the SQL managed instance. Once the failed private endpoint is deleted and the instance is running, [re-create](database-watcher-manage.md#create-a-managed-private-endpoint) the managed private endpoint. |
250
251
| Data is not collected if you use a database in Real-Time Analytics as the data store, and the **OneLake availability** option is enabled. | Disable the **OneLake availability** option and restart the watcher to resume data collection. |
251
252
| Because of a known issue in Azure Monitor Alerts, if you edit an alert rule created from a database watcher template, the scope of any fired alert will be set to the Azure Data Explorer cluster used as the watcher data store instead of the SQL target that the alert applies to. | Edit the alert rule programmatically, for example using Bicep or an ARM template, and set the `resourceIdColumn` property to the value `resource_id`. For more information, see [Resource Manager template samples for log search alert rules in Azure Monitor](/azure/azure-monitor/alerts/resource-manager-alerts-log). |
252
-
| A database watcher deployment via Bicep, an ARM template, Terraform, or REST API fails if the **subscription ID**, **resource group name**, or **watcher name** deployment parameters use inconsistent casing. For example, adding a SQL target for an existing watcher named `example-watcher` fails if the deployment parameter uses `Example-Watcher` as the parameter value. | Use consistent casing for string parameters. For example, standardize on the lower case. |
This article provides an overview of using artificial intelligence (AI) options, such as OpenAI and vectors, to build intelligent applications with Azure SQL Database and [Fabric SQL database](/fabric/database/sql/overview), which shares many of these features of Azure SQL Database.
21
25
22
-
For samples and examples, please visit the [SQL AI Samples repository](https://aka.ms/sqlaisamples).
26
+
For samples and examples, visit the [SQL AI Samples repository](https://aka.ms/sqlaisamples).
23
27
24
28
Watch this video in the [Azure SQL Database essentials series](/shows/azure-sql-database-essentials/) for a brief overview of building an AI ready application:
@@ -35,7 +39,7 @@ The following links provide sample code of various options to build intelligent
35
39
| AI Option | Description |
36
40
| --- | --- |
37
41
|**[Azure OpenAI](#azure-openai)**| Generate embeddings for RAG and integrate with any model supported by Azure OpenAI. |
38
-
|**[Vectors](#vectors)**| Learn how to store and query vectors the database. |
42
+
|**[Vectors](#vectors)**| Learn how to store and query vectors in the database. |
39
43
|**[Azure AI Search](#azure-ai-search)**| Use your database together with Azure AI Search to train LLM on your data. |
40
44
|**[Intelligent applications](#intelligent-applications)**| Learn how to create an end-to-end solution using a common pattern that can be replicated in any scenario. |
41
45
|**[Copilot skills in Azure SQL Database](#microsoft-copilot-skills-in-azure-sql-database)**| Learn about the set of AI-assisted experiences designed to streamline the design, operation, optimization, and health of Azure SQL Database-driven applications. |
@@ -130,8 +134,6 @@ For additional examples on using SQL Database and OpenAI, see the following arti
130
134
131
135
## Vectors
132
136
133
-
### Vector data type
134
-
135
137
In November 2024, the new **vector** data type was introduced in Azure SQL Database.
136
138
137
139
The dedicated **vector** type allows for efficient and optimized storing of vector data, and comes with a set of functions to help developers streamline vector and similarity search implementation. Calculating distance between two vectors can be done in one line of code using the new `VECTOR_DISTANCE` function. For more information on the [**vector** data type](/sql/t-sql/data-types/vector-data-type) and related functions, see [Overview of vectors in the SQL Database Engine](/sql/relational-databases/vectors/vectors-sql-server).
While older versions of SQL Server engine, up to and including SQL Server 2022, doesn't have a native **vector** type, a vector is nothing more than an ordered tuple, and relational databases are great at managing tuples. You can think of a tuple as the formal term for a row in a table.
160
-
161
-
Azure SQL Database also supports columnstore indexes and [batch mode execution](/sql/relational-databases/query-processing-architecture-guide#batch-mode-execution). A vector-based approach is used for batch mode processing, which means that each column in a batch has its own memory location where it's stored as a vector. This allows for faster and more efficient processing of data in batches.
162
-
163
-
The following example shows how a vector can be stored in SQL Database:
For an example that uses a common subset of Wikipedia articles with embeddings already generated using OpenAI, see [Vector similarity search with Azure SQL Database and OpenAI](https://devblogs.microsoft.com/azure-sql/vector-similarity-search-with-azure-sql-database-and-openai/).
181
-
182
-
Another option for leveraging Vector Search in Azure SQL database is integration with Azure AI using the integrated vectorization capabilities: [Vector Search with Azure SQL Database and Azure AI Search](https://devblogs.microsoft.com/azure-sql/vector-search-with-azure-sql-database/)
183
159
184
160
## Azure AI Search
185
161
@@ -195,7 +171,7 @@ Azure SQL Database can be used to build intelligent applications that include AI
195
171
196
172
:::image type="content" source="media/ai-artificial-intelligence-intelligent-applications/session-recommender-architecture.png" alt-text="Diagram of different AI features to build intelligent applications with Azure SQL Database." lightbox="media/ai-artificial-intelligence-intelligent-applications/session-recommender-architecture.png":::
197
173
198
-
For an end-to-end sample to build a AI-enabled application using sessions abstract as a sample dataset, see:
174
+
For an end-to-end sample to build an AI-enabled application using sessions abstract as a sample dataset, see:
199
175
200
176
-[How I built a session recommender in 1 hour using OpenAI](https://devblogs.microsoft.com/azure-sql/how-i-built-a-session-recommender-in-1-hour-using-open-ai/).
201
177
-[Using Retrieval Augmented Generation to build a conference session assistant](https://github.com/Azure-Samples/azure-sql-db-session-recommender-v2)
@@ -213,7 +189,7 @@ A few of samples on using Azure SQL with LangChain:
213
189
214
190
End-to-end examples:
215
191
216
-
-[Build a chatbot on your own data in 1 hour with Azure SQL, Langchain and Chainlit](https://devblogs.microsoft.com/azure-sql/build-a-chatbot-on-your-own-data-in-1-hour-with-azure-sql-langchain-and-chainlit/): Build a chatbot using the RAG pattern on your own data using Langchain for orchestrating LLM calls and Chainlit for the UI.
192
+
-[Build a chatbot on your own data in 1 hour with Azure SQL, Langchain, and Chainlit](https://devblogs.microsoft.com/azure-sql/build-a-chatbot-on-your-own-data-in-1-hour-with-azure-sql-langchain-and-chainlit/): Build a chatbot using the RAG pattern on your own data using Langchain for orchestrating LLM calls and Chainlit for the UI.
217
193
218
194
### Semantic Kernel integration
219
195
@@ -229,7 +205,7 @@ An example of how easily Semantic Kernel helps to build AI-enabled solution is h
229
205
230
206
[Microsoft Copilot in Azure SQL Database (preview)](../copilot/copilot-azure-sql-overview.md) is a set of AI-assisted experiences designed to streamline the design, operation, optimization, and health of Azure SQL Database-driven applications.
231
207
232
-
Copilot provides relevant answers to user questions, simplifying database management by leveraging database context, documentation, dynamic management views, Query Store, and other knowledge sources. For example:
208
+
Copilot provides relevant answers to user questions, simplifying database management by using database context, documentation, dynamic management views, Query Store, and other knowledge sources. For example:
233
209
234
210
- Database administrators can independently manage databases and resolve issues, or learn more about the performance and capabilities of your database.
235
211
- Developers can ask questions about their data as they would in text or conversation to generate a T-SQL query. Developers can also learn to write queries faster through detailed explanations of the generated query.
@@ -255,7 +231,7 @@ Copilot provides relevant answers to user questions, simplifying database manage
255
231
256
232
-**Document-based Q&A**: Ask Copilot questions about general SQL database capabilities, and it responds in natural language. Copilot also helps find documentation related to your request.
257
233
258
-
Copilot for SQL database utilizes table and view names, column names, primary key, and foreign key metadata to generate T-SQL code. Copilot for SQL database does not use data in tables to generate T-SQL suggestions.
234
+
Copilot for SQL database utilizes table and view names, column names, primary key, and foreign key metadata to generate T-SQL code. Copilot for SQL database doesn't use data in tables to generate T-SQL suggestions.
Copy file name to clipboardExpand all lines: azure-sql/database/authentication-azure-ad-user-assigned-managed-identity.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,7 +63,9 @@ These permissions should be granted before you provision a logical server or man
63
63
64
64
### Permissions for SMI
65
65
66
-
The same Microsoft Graph applications are needed for the SMI, but the UMI permissions can be eliminated for Azure SQL Database using an SMI. The `CREATE USER` T-SQL syntax would need the `SID` and `TYPE` syntax, as described in the article, [CREATE USER (Transact-SQL)](/sql/t-sql/statements/create-user-transact-sql#syntax).
66
+
The same Microsoft Graph applications permissions are needed with the SMI.
67
+
68
+
Applies only to **Azure SQL Database**: Using an SMI gives an opportunity to not explicitly provision the Microsoft Graph permissions. The Microsoft Entra users can still be created without the needed Microsoft Graph permission by using the `CREATE USER` T-SQL syntax. This would require the `SID` and `TYPE` syntax, as described in the article, [CREATE USER (Transact-SQL)](/sql/t-sql/statements/create-user-transact-sql#syntax).
67
69
68
70
```syntaxsql
69
71
CREATE USER
@@ -82,7 +84,9 @@ CREATE USER
82
84
| TYPE = { X | E }
83
85
```
84
86
85
-
The above syntax allows creation of Microsoft Entra users without validation. For this to work, the `Object Id` of the Microsoft Entra principal would have to be supplied and used as an `SID` in the T-SQL statement, as explained in [Create a contained database user from a Microsoft Entra principal without validation](/sql/t-sql/statements/create-user-transact-sql#k-create-a-contained-database-user-from-a-microsoft-entra-principal-without-validation).
87
+
The above syntax allows creation of Microsoft Entra users *without validation.* For this to work, the `Object Id` of the Microsoft Entra principal would have to be supplied and used as an `SID` in the T-SQL statement, as explained in [Create a contained database user from a Microsoft Entra principal without validation](/sql/t-sql/statements/create-user-transact-sql#k-create-a-contained-database-user-from-a-microsoft-entra-principal-without-validation).
88
+
89
+
The validity check of the **Object Id** is the responsibility of the user running the T-SQL statement.
Copy file name to clipboardExpand all lines: azure-sql/database/security-best-practice.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,7 +51,7 @@ This document is intended as a companion to our existing [Azure SQL Database sec
51
51
52
52
Unless otherwise stated, we recommend you follow all best practices listed in each section to achieve the respective goal or requirement. To meet specific security compliance standards or best practices, important regulatory compliance controls are listed under the Requirements or Goals section wherever applicable. These are the security standards and regulations that are referenced in this paper:
Copy file name to clipboardExpand all lines: azure-sql/database/service-tier-hyperscale-replicas.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -68,7 +68,6 @@ As a result, named replicas offer several benefits over HA replicas, for what co
68
68
69
69
- Users connected to a named replica aren't disconnected if the primary replica is scaled up or down.
70
70
- Users connected to the primary replica aren't affected when any named replicas are scaled up or down.
71
-
- Workloads running on any replica - primary or named - are unaffected by long-running queries running on other replicas.
72
71
73
72
The main goal of named replicas is to enable a broad variety of [read scale-out](read-scale-out.md) scenarios, and to improve Hybrid Transactional and Analytical Processing (HTAP) workloads. Examples of how to create such solutions are available here:
0 commit comments