Skip to content

Commit 3d86e61

Browse files
Merge pull request #34846 from MicrosoftDocs/main
Auto Publish – main to live - 2025-07-30 17:30 UTC
2 parents 1a08855 + 67ede29 commit 3d86e61

File tree

40 files changed

+474
-389
lines changed

40 files changed

+474
-389
lines changed

azure-sql/azure-sql-iaas-vs-paas-what-is-overview.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,14 @@ For **SQL Server on Azure VMs**, Microsoft provides an availability SLA of 99.95
171171

172172
[!INCLUDE [sql-database-create-manage-portal](includes/sql-database-create-manage-portal.md)]
173173

174+
## SQL database in Microsoft Fabric
175+
176+
You can also create a [SQL database in Microsoft Fabric](/sql/sql-server/fabric-database/sql-database-in-fabric). A [SQL database in Microsoft Fabric is distinct from an Azure SQL Database](/fabric/database/sql/decision-guide) or a mirrored database from Azure SQL Database, and each use similar mirroring technology to replicate data into Microsoft Fabric's OneLake.
177+
178+
With [SQL database in Fabric](/fabric/database/sql/overview), your data is automatically accessible from other Fabric experiences. SQL database in Microsoft Fabric, which uses the same SQL Database Engine as Microsoft SQL Server and is similar to Azure SQL Database, inherits most of the Fabric mirroring capabilities from Azure SQL Database. Your SQL database in Fabric is automatically mirrored to OneLake and presented in a read-only, queryable format. You can use all the different services in Fabric, such as running analytics with Spark, executing notebooks, data engineering, visualizing through Power BI Reports, and more.
179+
180+
For more information, see [SQL database in Microsoft Fabric (Preview)](/sql/sql-server/fabric-database/sql-database-in-fabric).
181+
174182
## Related content
175183

176184
For overviews:

azure-sql/database/configure-max-degree-of-parallelism.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
title: "Configure the Max Degree of Parallelism (MAXDOP)"
33
titleSuffix: Azure SQL Database
4-
description: Learn about the max degree of parallelism (MAXDOP) in Azure SQL Database.
4+
description: Learn about the max degree of parallelism (MAXDOP) in Azure SQL Database and SQL database in Fabric.
55
author: WilliamDAssafMSFT
66
ms.author: wiassaf
77
ms.reviewer: mathoma
8-
ms.date: 06/13/2025
8+
ms.date: 07/28/2025
99
ms.service: azure-sql-database
1010
ms.subservice: performance
1111
ms.topic: concept-article
@@ -16,18 +16,18 @@ dev_langs:
1616
ms.devlang: tsql
1717
monikerRange: "=azuresql || =azuresql-db || =fabricsql"
1818
---
19-
# Configure the max degree of parallelism (MAXDOP) in Azure SQL Database
19+
# Configure the max degree of parallelism (MAXDOP) in Azure SQL Database and SQL database in Fabric
2020

2121
[!INCLUDE [appliesto-sqldb-fabricsqldb](../includes/appliesto-sqldb-fabricsqldb.md)]
2222

23-
This article describes the **max degree of parallelism (MAXDOP)** configuration setting in Azure SQL Database.
23+
This article describes the **max degree of parallelism (MAXDOP)** configuration setting in Azure SQL Database and SQL database in Fabric.
2424

2525
> [!NOTE]
26-
> **This content is focused on Azure SQL Database.** Azure SQL Database is based on the latest stable version of the Microsoft SQL Server database engine, so much of the content is similar though troubleshooting and configuration options differ. For more on MAXDOP in SQL Server, see [Configure the max degree of parallelism Server Configuration Option](/sql/database-engine/configure-windows/configure-the-max-degree-of-parallelism-server-configuration-option).
26+
> **This content is focused on Azure SQL Database and SQL database in Fabric.** Azure SQL Database is based on the latest stable version of the Microsoft SQL Server database engine, so much of the content is similar though troubleshooting and configuration options differ. For more on MAXDOP in SQL Server and Azure SQL Managed Instance, see [Configure the max degree of parallelism Server Configuration Option](/sql/database-engine/configure-windows/configure-the-max-degree-of-parallelism-server-configuration-option).
2727
2828
MAXDOP controls intra-query parallelism in the database engine. Higher MAXDOP values generally result in more parallel threads per query, and faster query execution.
2929

30-
In Azure SQL Database, the default MAXDOP setting for each new single database and elastic pool database is 8. This default prevents unnecessary resource utilization, while still allowing the database engine to execute queries faster using parallel threads. It is not typically necessary to further configure MAXDOP in Azure SQL Database workloads, though it might provide benefits as an advanced performance tuning exercise.
30+
In Azure SQL Database and SQL database in Fabric, the default MAXDOP setting for each new single database and elastic pool database is 8. This default prevents unnecessary resource utilization, while still allowing the database engine to execute queries faster using parallel threads. It is not typically necessary to further configure MAXDOP in Azure SQL Database workloads, though it might provide benefits as an advanced performance tuning exercise.
3131

3232
> [!Note]
3333
> In September 2020, based on years of telemetry in the Azure SQL Database service MAXDOP 8 was made the [default for new databases](https://techcommunity.microsoft.com/blog/azuresqlblog/changing-default-maxdop-in-azure-sql-database-and-azure-sql-managed-instance/1538528), as the optimal value for the widest variety of customer workloads. This default helped prevent performance problems due to excessive parallelism. Prior to that, the default setting for new databases was `MAXDOP 0`. MAXDOP was not automatically changed for existing databases created prior to September 2020.
@@ -51,11 +51,11 @@ monikerRange: "=azuresql || =azuresql-db || =fabricsql"
5151

5252
## Considerations
5353

54-
- In Azure SQL Database, you can change the default MAXDOP value:
54+
- In Azure SQL Database and SQL database in Fabric, you can change the default MAXDOP value:
5555
- At the query level, using the **MAXDOP** [query hint](/sql/t-sql/queries/hints-transact-sql-query).
5656
- At the database level, using the **MAXDOP** [database scoped configuration](/sql/t-sql/statements/alter-database-scoped-configuration-transact-sql).
5757

58-
- Long-standing SQL Server MAXDOP considerations and [recommendations](/sql/database-engine/configure-windows/configure-the-max-degree-of-parallelism-server-configuration-option#Guidelines) are applicable to Azure SQL Database.
58+
- Long-standing SQL Server MAXDOP considerations and [recommendations](/sql/database-engine/configure-windows/configure-the-max-degree-of-parallelism-server-configuration-option#Guidelines) are applicable to Azure SQL Database and SQL database in Fabric.
5959

6060
- Index operations that create or rebuild an index, or that drop a clustered index, can be resource intensive. You can override the database MAXDOP value for index operations by specifying the MAXDOP index option in the `CREATE INDEX` or `ALTER INDEX` statement. The MAXDOP value is applied to the statement at execution time and is not stored in the index metadata. For more information, see [Configure Parallel Index Operations](/sql/relational-databases/indexes/configure-parallel-index-operations).
6161

@@ -74,13 +74,13 @@ monikerRange: "=azuresql || =azuresql-db || =fabricsql"
7474
> [!Tip]
7575
> We recommend that customers avoid setting MAXDOP to 0 even if it does not appear to cause problems currently.
7676
77-
Excessive parallelism becomes most problematic when there are more concurrent requests than can be supported by the CPU and worker thread resources provided by the service objective. Avoid `MAXDOP 0` to reduce the risk of potential future problems due to excessive parallelism if a database is scaled up, or if future hardware configurations in Azure SQL Database provide more cores for the same database service objective.
77+
Excessive parallelism becomes most problematic when there are more concurrent requests than can be supported by the CPU and worker thread resources provided by the service objective. Avoid `MAXDOP 0` to reduce the risk of potential future problems due to excessive parallelism if a database is scaled up, or if future hardware configurations provide more cores for the same database service objective.
7878

7979
<a id="modifying-maxdop"></a>
8080

8181
### Modify MAXDOP
8282

83-
If you determine that a MAXDOP setting different from the default is optimal for your Azure SQL Database workload, you can use the `ALTER DATABASE SCOPED CONFIGURATION` T-SQL statement. For examples, see the [Examples using Transact-SQL](#examples) section below. To change MAXDOP to a non-default value for each new database you create, add this step to your database deployment process.
83+
If you determine that a MAXDOP setting different from the default is optimal for your workload, you can use the `ALTER DATABASE SCOPED CONFIGURATION` T-SQL statement. For examples, see the [Examples using Transact-SQL](#examples) section below. To change MAXDOP to a non-default value for each new database you create, add this step to your database deployment process.
8484

8585
If non-default MAXDOP benefits only a small subset of queries in the workload, you can override MAXDOP at the query level by adding the `OPTION (MAXDOP)` hint. For examples, see [Examples using Transact-SQL](#examples).
8686

@@ -98,7 +98,7 @@ monikerRange: "=azuresql || =azuresql-db || =fabricsql"
9898

9999
## Examples
100100

101-
These examples use the latest `AdventureWorksLT` sample database when the `SAMPLE` option is chosen for a new single database of Azure SQL Database.
101+
These examples use the latest `AdventureWorksLT` sample database when the `SAMPLE` option is chosen for a new single database.
102102

103103
### PowerShell
104104

@@ -150,7 +150,7 @@ $params = @{
150150

151151
### Transact-SQL
152152

153-
You can use the [Azure portal query editor for Azure SQL Database](query-editor.md), [SQL Server Management Studio (SSMS)](/sql/ssms/download-sql-server-management-studio-ssms), or [Azure Data Studio](/azure-data-studio/download-azure-data-studio) to execute T-SQL queries against your Azure SQL Database.
153+
You can use the [Azure portal query editor for Azure SQL Database](query-editor.md), [SQL Server Management Studio (SSMS)](/sql/ssms/download-sql-server-management-studio-ssms), the [mssql extension](https://aka.ms/mssql-marketplace) for [Visual Studio Code](https://code.visualstudio.com/docs), or the [SQL query editor in the Fabric portal](/fabric/database/sql/query-editor) to execute T-SQL queries.
154154

155155
1. Open a new query window.
156156

azure-sql/database/identify-query-performance-issues.md

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
title: Detectable types of query performance bottlenecks
33
titleSuffix: Azure SQL Database
44
description: Learn about types of query performance issues in Azure SQL Database and how to identify and resolve queries with these issues.
5-
author: NikaKinska
6-
ms.author: nnikolic
7-
ms.reviewer: mathoma, wiassaf
8-
ms.date: 08/23/2024
5+
author: WilliamDAssafMSFT
6+
ms.author: wiassaf
7+
ms.reviewer: mathoma, nnikolic
8+
ms.date: 07/28/2025
99
ms.service: azure-sql-database
1010
ms.subservice: performance
1111
ms.topic: troubleshooting
1212
ms.custom:
1313
- azure-sql-split
14-
monikerRange: "=azuresql||=azuresql-db"
14+
monikerRange: "=azuresql||=azuresql-db||=fabricsql"
1515
---
1616

17-
# Detectable types of query performance bottlenecks in Azure SQL Database
18-
[!INCLUDE [appliesto-sqldb](../includes/appliesto-sqldb.md)]
17+
# Detect query performance bottlenecks
18+
[!INCLUDE [appliesto-sqldb-fabricsqldb](../includes/appliesto-sqldb-fabricsqldb.md)]
1919

2020
> [!div class="op_single_selector"]
2121
> * [Azure SQL Database](identify-query-performance-issues.md?view=azuresql-db&preserve-view=true)
@@ -156,13 +156,19 @@ A recompilation (or fresh compilation after cache eviction) can still result in
156156

157157
Slow query performance not related to suboptimal query plans and missing indexes are generally related to insufficient or overused resources. If the query plan is optimal, the query (and the database) might be hitting the resource limits for the database or elastic pool. An example might be excess log write throughput for the service level.
158158

159-
- Detecting resource issues using the Azure portal: To see if resource limits are the problem, see [SQL Database resource monitoring](monitor-tune-overview.md#azure-sql-database-and-azure-sql-managed-instance-resource-monitoring). For single databases and elastic pools, see [Database Advisor performance recommendations](database-advisor-implement-performance-recommendations.md) and [Query Performance Insights](query-performance-insight-use.md).
160-
- Detecting resource limits using [database watcher](../database-watcher-overview.md).
161-
- Detecting resource issues using [DMVs](monitoring-with-dmvs.md):
159+
- Detect performance issues:
160+
- For Azure SQL Database, use the Azure portal: To see if resource limits are the problem, see [SQL Database resource monitoring](monitor-tune-overview.md#azure-sql-database-and-azure-sql-managed-instance-resource-monitoring). For single databases and elastic pools, see [Database Advisor performance recommendations](database-advisor-implement-performance-recommendations.md) and [Query Performance Insights](query-performance-insight-use.md).
161+
- For SQL database in Microsoft Fabric, use the Fabric portal: Review the [Performance Dashboard](/fabric/database/sql/performance-dashboard) for the performance status of the database and metrics visibility, including configurable alerts, queries, automatic indexing activity, and more.
162+
163+
- Detect resource limits and utilization:
164+
- For Azure SQL Database, use [database watcher](../database-watcher-overview.md). Currently, database watcher is available in Azure SQL Database only.
165+
- For SQL database in Microsoft Fabric, use the [Microsoft Fabric Capacity Metrics app](/fabric/database/sql/usage-reporting).
166+
167+
- Detect resource issues using [DMVs](monitoring-with-dmvs.md):
162168

163169
- The [sys.dm_db_resource_stats](monitoring-with-dmvs.md#monitor-resource-use) DMV returns CPU, I/O, and memory consumption for the database. One row exists for every 15-second interval, even if there's no activity in the database. Historical data is maintained for one hour.
164170
- The [sys.resource_stats](monitoring-with-dmvs.md#monitor-resource-use) DMV returns CPU usage and storage data for Azure SQL Database. The data is collected and aggregated in five-minute intervals.
165-
- [Many individual queries that cumulatively consume high CPU](monitoring-with-dmvs.md#many-individual-queries-that-cumulatively-consume-high-cpu)
171+
- Use DMVs to monitor database activity, including for example looking for [individual queries that cumulatively consume high CPU](monitoring-with-dmvs.md#many-individual-queries-that-cumulatively-consume-high-cpu).
166172

167173
If you identify the problem as insufficient resource, you can upgrade resources to increase the capacity of your database to absorb the CPU requirements. For more information, see [Scale single database resources in Azure SQL Database](single-database-scale.md) and [Scale elastic pool resources in Azure SQL Database](elastic-pool-scale.md).
168174

azure-sql/database/temporal-tables-retention-policy.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ ms.subservice: performance
1111
ms.topic: how-to
1212
ms.custom:
1313
- sqldbrb=2
14-
monikerRange: "=azuresql || =azuresql-db || =azuresql-mi"
14+
monikerRange: "=azuresql || =azuresql-db || =azuresql-mi || =fabricsql"
1515
---
1616
# Manage historical data in Temporal tables with retention policy
1717

18-
[!INCLUDE[appliesto-sqldb-sqlmi](../includes/appliesto-sqldb-sqlmi.md)]
18+
[!INCLUDE[appliesto-sqldb-sqlmi-fabricsqldb](../includes/appliesto-sqldb-sqlmi-fabricsqldb.md)]
1919

2020
Temporal tables might increase database size more than regular tables, especially if you retain historical data for a longer period of time. Hence, retention policy for historical data is an important aspect of planning and managing the lifecycle of every temporal table. Temporal tables in Azure SQL Database and Azure SQL Managed Instance come with easy-to-use retention mechanism that helps you accomplish this task.
2121

azure-sql/database/xevent-code-event-file.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ ms.service: azure-sql
1010
ms.subservice: performance
1111
ms.topic: sample
1212
ms.custom: sqldbrb=1
13-
monikerRange: "= azuresql || = azuresql-db || = azuresql-mi"
13+
monikerRange: "= azuresql || = azuresql-db || = azuresql-mi || = fabricsql"
1414
---
1515
# Create an event session with an event_file target in Azure Storage
1616

17-
[!INCLUDE [appliesto-sqldb-sqlmi](../includes/appliesto-sqldb-sqlmi.md)]
17+
[!INCLUDE [appliesto-sqldb-sqlmi-fabricsqldb](../includes/appliesto-sqldb-sqlmi-fabricsqldb.md)]
1818

1919
[!INCLUDE [sql-database-xevents-selectors-1-include](../includes/sql-database-xevents-selectors-1-include.md)]
2020

@@ -71,7 +71,7 @@ To read and write event data, the [!INCLUDE [ssde-md](../../docs/includes/ssde-m
7171

7272
# [SQL Database](#tab/sqldb)
7373

74-
Create a database-scoped [credential](/sql/relational-databases/security/authentication-access/credentials-database-engine). Using a client tool such as SSMS, open a new query window, connect to the database where you create the event session, and paste the following T-SQL batch. Make sure you're connected to your user database, and not to the `master` database.
74+
In Azure SQL Database and SQL database in Microsoft Fabric, create a database-scoped [credential](/sql/relational-databases/security/authentication-access/credentials-database-engine). Using a client tool such as SSMS, open a new query window, connect to the database where you create the event session, and paste the following T-SQL batch. Make sure you're connected to your user database, and not to the `master` database.
7575

7676
> [!NOTE]
7777
> Executing the following T-SQL batch requires the `CONTROL` database permission, which is held by the database owner (`dbo`), by the members of the `db_owner` database role, and by the administrator of the logical server.

0 commit comments

Comments
 (0)