Skip to content

Commit d6b970a

Browse files
authored
Merge pull request #108872 from MladjoA/patch-19
Adding MI as supported and minor edits
2 parents 8c969fb + 6cf578e commit d6b970a

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

articles/sql-database/sql-database-accelerated-database-recovery.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ ms.topic: conceptual
99
author: mashamsft
1010
ms.author: mathoma
1111
ms.reviewer: carlrab
12-
ms.date: 01/25/2019
12+
ms.date: 03/24/2020
1313
---
1414
# Accelerated Database Recovery
1515

16-
**Accelerated Database Recovery (ADR)** is a new SQL database engine feature that greatly improves database availability, especially in the presence of long running transactions, by redesigning the SQL database engine recovery process. ADR is currently available for single databases and pooled databases in Azure SQL Database, and databases in Azure SQL Data Warehouse (currently in public preview). The primary benefits of ADR are:
16+
**Accelerated Database Recovery (ADR)** is a SQL database engine feature that greatly improves database availability, especially in the presence of long running transactions, by redesigning the SQL database engine recovery process. ADR is currently available for Azure SQL Database single, elastic pool and managed instance, and databases in Azure SQL Data Warehouse (currently in preview). The primary benefits of ADR are:
1717

1818
- **Fast and consistent database recovery**
1919

@@ -25,7 +25,7 @@ ms.date: 01/25/2019
2525

2626
- **Aggressive log truncation**
2727

28-
With ADR, the transaction log is aggressively truncated, even in the presence of active long running transactions, which prevents it from growing out of control.
28+
With ADR, the transaction log is aggressively truncated, even in the presence of active long-running transactions, which prevents it from growing out of control.
2929

3030
## The current database recovery process
3131

@@ -45,11 +45,11 @@ Database recovery in SQL Server follows the [ARIES](https://people.eecs.berkeley
4545

4646
For each transaction that was active as of the time of the crash, traverses the log backwards, undoing the operations that this transaction performed.
4747

48-
Based on this design, the time it takes the SQL database engine to recover from an unexpected restart is (roughly) proportional to the size of the longest active transaction in the system at the time of the crash. Recovery requires a rollback of all incomplete transactions. The length of time required is proportional to the work that the transaction has performed and the time it has been active. Therefore, the SQL Server recovery process can take a long time in the presence of long running transactions (such as large bulk insert operations or index build operations against a large table).
48+
Based on this design, the time it takes the SQL database engine to recover from an unexpected restart is (roughly) proportional to the size of the longest active transaction in the system at the time of the crash. Recovery requires a rollback of all incomplete transactions. The length of time required is proportional to the work that the transaction has performed and the time it has been active. Therefore, the SQL Server recovery process can take a long time in the presence of long-running transactions (such as large bulk insert operations or index build operations against a large table).
4949

5050
Also, cancelling/rolling back a large transaction based on this design can also take a long time as it is using the same Undo recovery phase as described above.
5151

52-
In addition, the SQL database engine cannot truncate the transaction log when there are long running transactions because their corresponding log records are needed for the recovery and rollback processes. As a result of this design of the SQL database engine, some customers face the problem that the size of the transaction log grows very large and consumes huge amounts of drive space.
52+
In addition, the SQL database engine cannot truncate the transaction log when there are long-running transactions because their corresponding log records are needed for the recovery and rollback processes. As a result of this design of the SQL database engine, some customers used to face the problem that the size of the transaction log grows very large and consumes huge amounts of drive space.
5353

5454
## The Accelerated Database Recovery process
5555

@@ -66,7 +66,7 @@ The ADR recovery process has the same three phases as the current recovery proce
6666

6767
- **Analysis phase**
6868

69-
The process remains the same as today with the addition of reconstructing sLog and copying log records for non-versioned operations.
69+
The process remains the same as before with the addition of reconstructing sLog and copying log records for non-versioned operations.
7070

7171
- **Redo** phase
7272

@@ -113,11 +113,11 @@ The four key components of ADR are:
113113

114114
The cleaner is the asynchronous process that wakes up periodically and cleans page versions that are not needed.
115115

116-
## Who should consider Accelerated Database Recovery
116+
## Accelerated Database Recovery Patterns
117117

118-
The following types of customers should consider enabling ADR:
118+
The following types of workloads benefit most from ADR:
119119

120-
- Customers that have workloads with long running transactions.
121-
- Customers that have seen cases where active transactions are causing the transaction log to grow significantly.
122-
- Customers that have experienced long periods of database unavailability due to SQL Server long running recovery (such as unexpected SQL Server restart or manual transaction rollback).
120+
- Workloads with long-running transactions.
121+
- Workloads that have seen cases where active transactions are causing the transaction log to grow significantly.
122+
- Workloads that have experienced long periods of database unavailability due to SQL Server long running recovery (such as unexpected SQL Server restart or manual transaction rollback).
123123

0 commit comments

Comments
 (0)