Skip to content

Commit 30d2193

Browse files
authored
Merge pull request #35558 from WilliamDAssafMSFT/20251013-concurrency
20251013 Fabric DW transaction isolation and concurrency additions
2 parents 73c9149 + 2f7a536 commit 30d2193

12 files changed

Lines changed: 163 additions & 137 deletions

docs/t-sql/language-elements/begin-distributed-transaction-transact-sql.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ helpviewer_keywords:
2323
- "starting transactions"
2424
dev_langs:
2525
- "TSQL"
26+
monikerRange: " =azuresqldb-current || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current"
2627
---
2728
# BEGIN DISTRIBUTED TRANSACTION (Transact-SQL)
2829

docs/t-sql/language-elements/begin-transaction-transact-sql.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "BEGIN TRANSACTION (Transact-SQL)"
33
description: Marks the starting point of an explicit, local transaction. Explicit transactions start with the BEGIN TRANSACTION statement and end with the COMMIT or ROLLBACK statement.
44
author: rwestMSFT
55
ms.author: randolphwest
6-
ms.date: 05/10/2024
6+
ms.date: 10/27/2025
77
ms.service: sql
88
ms.subservice: t-sql
99
ms.topic: reference
@@ -40,7 +40,7 @@ Marks the starting point of an explicit, local transaction. Explicit transaction
4040

4141
## Syntax
4242

43-
Syntax for SQL Server, Azure SQL Database, and Azure SQL Managed Instance.
43+
Syntax for SQL Server, Azure SQL Database, Fabric SQL database, and Azure SQL Managed Instance.
4444

4545
```syntaxsql
4646
BEGIN { TRAN | TRANSACTION }
@@ -50,7 +50,7 @@ BEGIN { TRAN | TRANSACTION }
5050
[ ; ]
5151
```
5252

53-
Syntax for Synapse Data Warehouse in Microsoft Fabric, Azure Synapse Analytics and Analytics Platform System (PDW).
53+
Syntax for Fabric Data Warehouse, Azure Synapse Analytics, and Analytics Platform System (PDW).
5454

5555
```syntaxsql
5656
BEGIN { TRAN | TRANSACTION }
@@ -61,19 +61,19 @@ BEGIN { TRAN | TRANSACTION }
6161

6262
#### *transaction_name*
6363

64-
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, and Azure SQL Managed Instance
64+
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, Fabric SQL database, and Azure SQL Managed Instance
6565

6666
The name assigned to the transaction. *transaction_name* must conform to the rules for identifiers, but identifiers longer than 32 characters aren't allowed. Use transaction names only on the outermost pair of nested `BEGIN...COMMIT` or `BEGIN...ROLLBACK` statements. *transaction_name* is always case sensitive, even when the instance of [!INCLUDE [ssNoVersion](../../includes/ssnoversion-md.md)] isn't case sensitive.
6767

6868
#### *@tran_name_variable*
6969

70-
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, and Azure SQL Managed Instance
70+
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, Fabric SQL database, and Azure SQL Managed Instance
7171

7272
The name of a user-defined variable containing a valid transaction name. The variable must be declared with a **char**, **varchar**, **nchar**, or **nvarchar** data type. If more than 32 characters are passed to the variable, only the first 32 characters are used. The remaining characters are truncated.
7373

7474
#### WITH MARK [ '*description*' ]
7575

76-
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, and Azure SQL Managed Instance
76+
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, Fabric SQL database, and Azure SQL Managed Instance
7777

7878
Specifies that the transaction is marked in the log. *description* is a string that describes the mark. A *description* longer than 128 characters is truncated to 128 characters before being stored in the `msdb.dbo.logmarkhistory` table.
7979

@@ -147,7 +147,7 @@ Requires membership in the **public** role.
147147

148148
### A. Use an explicit transaction
149149

150-
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, Azure SQL Managed Instance, [!INCLUDE [ssazuresynapse-md](../../includes/ssazuresynapse-md.md)], Analytics Platform System (PDW)
150+
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, Fabric SQL database, Azure SQL Managed Instance, [!INCLUDE [ssazuresynapse-md](../../includes/ssazuresynapse-md.md)], Analytics Platform System (PDW)
151151

152152
```sql
153153
BEGIN TRANSACTION;
@@ -158,7 +158,7 @@ COMMIT;
158158

159159
### B. Rolling back a transaction
160160

161-
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, Azure SQL Managed Instance, [!INCLUDE [ssazuresynapse-md](../../includes/ssazuresynapse-md.md)], Analytics Platform System (PDW)
161+
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, Fabric SQL database, Azure SQL Managed Instance, [!INCLUDE [ssazuresynapse-md](../../includes/ssazuresynapse-md.md)], Analytics Platform System (PDW)
162162

163163
The following example shows the effect of rolling back a transaction. In this example, the `ROLLBACK` statement rolls back the `INSERT` statement, but the created table still exists.
164164

@@ -172,7 +172,7 @@ ROLLBACK;
172172

173173
### C. Name a transaction
174174

175-
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, Azure SQL Managed Instance
175+
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, Fabric SQL database, Azure SQL Managed Instance
176176

177177
The following example shows how to name a transaction.
178178

@@ -191,7 +191,7 @@ GO
191191

192192
### D. Mark a transaction
193193

194-
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, Azure SQL Managed Instance
194+
**Applies to:** [!INCLUDE [sql2008-md](../../includes/sql2008-md.md)] and later versions, Azure SQL Database, Fabric SQL database, Azure SQL Managed Instance
195195

196196
The following example shows how to mark a transaction. The transaction `CandidateDelete` is marked.
197197

docs/t-sql/language-elements/commit-transaction-transact-sql.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "COMMIT TRANSACTION (Transact-SQL)"
33
description: This statement marks the end of a successful implicit or explicit transaction.
44
author: rwestMSFT
55
ms.author: randolphwest
6-
ms.date: 04/15/2024
6+
ms.date: 10/27/2025
77
ms.service: sql
88
ms.subservice: t-sql
99
ms.topic: reference
@@ -27,7 +27,7 @@ helpviewer_keywords:
2727
- "rolling back transactions, COMMIT TRANSACTION"
2828
dev_langs:
2929
- "TSQL"
30-
monikerRange: ">=aps-pdw-2016 || =azuresqldb-current || =azure-sqldw-latest || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current || =fabric"
30+
monikerRange: ">=aps-pdw-2016 || =azuresqldb-current || =azure-sqldw-latest || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current || =fabric || =fabric-sqldb"
3131
---
3232
# COMMIT TRANSACTION (Transact-SQL)
3333

@@ -39,7 +39,7 @@ Marks the end of a successful implicit or explicit transaction. If `@@TRANCOUNT`
3939

4040
## Syntax
4141

42-
Syntax for [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] and [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)].
42+
Syntax for [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)], [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)], [!INCLUDE [fabric-sqldb](../../includes/fabric-sqldb.md)].
4343

4444
```syntaxsql
4545
COMMIT [ { TRAN | TRANSACTION }
@@ -48,7 +48,7 @@ COMMIT [ { TRAN | TRANSACTION }
4848
[ ; ]
4949
```
5050

51-
Syntax for Synapse Data Warehouse in Microsoft Fabric, Azure Synapse Analytics, and Parallel Data Warehouse Database.
51+
Syntax for Fabric Data Warehouse, Azure Synapse Analytics, and Parallel Data Warehouse Database.
5252

5353
```syntaxsql
5454
COMMIT [ TRAN | TRANSACTION ]
@@ -59,19 +59,19 @@ COMMIT [ TRAN | TRANSACTION ]
5959

6060
#### *transaction_name*
6161

62-
**Applies to:** [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] and [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)]
62+
**Applies to:** [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)], [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)], [!INCLUDE [fabric-sqldb](../../includes/fabric-sqldb.md)].
6363

6464
Ignored by the [!INCLUDE [ssDEnoversion](../../includes/ssdenoversion-md.md)]. *transaction_name* specifies a transaction name assigned by a previous `BEGIN TRANSACTION`. *transaction_name*must conform to the rules for identifiers, but can't exceed 32 characters. *transaction_name* indicates to programmers which nested `BEGIN TRANSACTION` the `COMMIT TRANSACTION` is associated with.
6565

6666
#### *@tran_name_variable*
6767

68-
**Applies to:** [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] and [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)]
68+
**Applies to:** [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)], [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)], [!INCLUDE [fabric-sqldb](../../includes/fabric-sqldb.md)].
6969

7070
The name of a user-defined variable containing a valid transaction name. The variable must be declared with a char, varchar, nchar, or nvarchar data type. If more than 32 characters are passed to the variable, only 32 characters are used. The remaining characters are truncated.
7171

7272
#### WITH DELAYED_DURABILITY = { OFF | ON }
7373

74-
**Applies to:** [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] and [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)]
74+
**Applies to:** [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)], [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)], [!INCLUDE [fabric-sqldb](../../includes/fabric-sqldb.md)].
7575

7676
Option that requests this transaction should be committed with delayed durability. The request is ignored if the database was altered with `DELAYED_DURABILITY = DISABLED` or `DELAYED_DURABILITY = FORCED`. For more information, see [Control Transaction Durability](../../relational-databases/logs/control-transaction-durability.md).
7777

@@ -112,7 +112,7 @@ COMMIT TRANSACTION;
112112

113113
### B. Commit a nested transaction
114114

115-
**Applies to:** [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] and [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)]
115+
**Applies to:** [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)], [!INCLUDE [ssazure-sqldb](../../includes/ssazure-sqldb.md)], [!INCLUDE [fabric-sqldb](../../includes/fabric-sqldb.md)].
116116

117117
The following example creates a table, generates three levels of nested transactions, and then commits the nested transaction. Although each `COMMIT TRANSACTION` statement has a *transaction_name* parameter, there's no relationship between the `COMMIT TRANSACTION` and `BEGIN TRANSACTION` statements. The *transaction_name* parameters help the programmer ensure that the correct number of commits are coded to decrement `@@TRANCOUNT` to 0 and so to commit the outer transaction.
118118

docs/t-sql/language-elements/rollback-transaction-transact-sql.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "ROLLBACK TRANSACTION (Transact-SQL)"
33
description: This statement rolls back an explicit or implicit transaction to the beginning of the transaction, or to a savepoint inside the transaction.
44
author: rwestMSFT
55
ms.author: randolphwest
6-
ms.date: 04/15/2024
6+
ms.date: 10/27/2025
77
ms.service: sql
88
ms.subservice: t-sql
99
ms.topic: reference
@@ -23,7 +23,7 @@ helpviewer_keywords:
2323
- "savepoints [SQL Server]"
2424
dev_langs:
2525
- "TSQL"
26-
monikerRange: ">=aps-pdw-2016 || =azuresqldb-current || =azure-sqldw-latest || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current || =fabric"
26+
monikerRange: ">=aps-pdw-2016 || =azuresqldb-current || =azure-sqldw-latest || >=sql-server-2016 || >=sql-server-linux-2017 || =azuresqldb-mi-current || =fabric || =fabric-sqldb"
2727
---
2828
# ROLLBACK TRANSACTION (Transact-SQL)
2929

@@ -37,7 +37,7 @@ Rolling back a transaction doesn't include changes made to local variables or ta
3737

3838
## Syntax
3939

40-
Syntax for SQL Server and Azure SQL Database.
40+
Syntax for SQL Server, Azure SQL Database, and Fabric SQL database.
4141

4242
```syntaxsql
4343
ROLLBACK { TRAN | TRANSACTION }
@@ -46,7 +46,7 @@ ROLLBACK { TRAN | TRANSACTION }
4646
[ ; ]
4747
```
4848

49-
Syntax for Synapse Data Warehouse in Microsoft Fabric, Azure Synapse Analytics, and Parallel Data Warehouse Database.
49+
Syntax for Fabric Data Warehouse, Azure Synapse Analytics, and Parallel Data Warehouse Database.
5050

5151
```syntaxsql
5252
ROLLBACK { TRAN | TRANSACTION }

0 commit comments

Comments
 (0)