Skip to content

Commit d4a8a16

Browse files
Merge pull request #35947 from dimitri-furman/dfurman/adr
ADR benefit vs overhead
2 parents 4b7908a + d2ee5c0 commit d4a8a16

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

docs/relational-databases/accelerated-database-recovery-concepts.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ description: "Learn about accelerated database recovery (ADR), which redesigned
44
author: MashaMSFT
55
ms.author: mathoma
66
ms.reviewer: wiassaf, derekw, randolphwest, dfurman
7-
ms.date: 05/01/2025
7+
ms.date: 11/26/2025
88
ms.service: sql
99
ms.subservice: backup-restore
10-
ms.topic: conceptual
10+
ms.topic: article
1111
ms.custom:
1212
- ignite-2025
1313
helpviewer_keywords:
@@ -145,21 +145,25 @@ The four key components of ADR are:
145145

146146
## Workloads that benefit from ADR
147147

148-
ADR benefits most workloads, and is particularly beneficial for workloads that have:
148+
ADR benefits most workloads by improving database availability, and is particularly beneficial for workloads that have:
149149

150150
- Long-running transactions.
151151
- Active transactions that cause the transaction log to grow significantly.
152152
- Long periods of database unavailability due to long running recovery (such as from unexpected service restart or manual transaction rollback).
153153

154+
The benefits of ADR require version storage and extra processing, which might introduce a performance overhead for certain workloads. For example, with write-intensive workloads generating many row versions, data pages might be split more often to accommodate the [in-row](sql-server-transaction-locking-and-row-versioning-guide.md#space-used-by-the-persistent-version-store-pvs) versions. Because all row versions are logged, the amount of generated transaction log can increase as well.
155+
156+
For most workloads, the performance overhead of ADR ranges from not detectable to minor. In an optimal database management strategy, you balance the certain benefits of ADR against the potential performance overhead.
157+
154158
ADR isn't supported in databases using [database mirroring](../database-engine/database-mirroring/database-mirroring-sql-server.md), an older and deprecated high availability feature.
155159

156160
## Best practices for ADR
157161

158162
- Avoid unnecessary long-running transactions. Though ADR speeds up database recovery even with long-running transactions, such transactions can delay version cleanup and increase PVS size.
159163

160164
- Avoid large transactions that include DDL operations. ADR uses the secondary log stream (SLOG) mechanism to track DDL operations used in recovery. SLOG is only used while the transaction is active. SLOG is checkpointed, so avoiding large transactions that use SLOG can help the overall performance. These scenarios can cause the SLOG to take up more space:
161-
- Many DDLs are executed in one transaction. For example, in one transaction, rapidly creating and dropping temp tables.
162-
- A table has very large number of partitions/indexes that are modified. For example, a `DROP TABLE` operation on such table would require a large reservation of SLOG memory, which would delay truncation of the transaction log and delay undo/redo operations. As a workaround, drop the indexes individually and gradually, then drop the table.
165+
- Many DDLs are executed in one transaction. For example, in one transaction, rapidly creating and dropping temp tables.
166+
- A table has very large number of partitions/indexes that are modified. For example, a `DROP TABLE` operation on such table would require a large reservation of SLOG memory, which would delay truncation of the transaction log and delay undo/redo operations. As a workaround, drop the indexes individually and gradually, then drop the table.
163167

164168
For more information about SLOG, see [ADR recovery components](#adr-recovery-components).
165169

0 commit comments

Comments
 (0)