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: articles/sql-database/sql-database-accelerated-database-recovery.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,11 +9,11 @@ ms.topic: conceptual
9
9
author: mashamsft
10
10
ms.author: mathoma
11
11
ms.reviewer: carlrab
12
-
ms.date: 01/25/2019
12
+
ms.date: 03/24/2020
13
13
---
14
14
# Accelerated Database Recovery
15
15
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:
17
17
18
18
-**Fast and consistent database recovery**
19
19
@@ -25,7 +25,7 @@ ms.date: 01/25/2019
25
25
26
26
-**Aggressive log truncation**
27
27
28
-
With ADR, the transaction log is aggressively truncated, even in the presence of active longrunning 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.
29
29
30
30
## The current database recovery process
31
31
@@ -45,11 +45,11 @@ Database recovery in SQL Server follows the [ARIES](https://people.eecs.berkeley
45
45
46
46
For each transaction that was active as of the time of the crash, traverses the log backwards, undoing the operations that this transaction performed.
47
47
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 longrunning 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).
49
49
50
50
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.
51
51
52
-
In addition, the SQL database engine cannot truncate the transaction log when there are longrunning 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.
53
53
54
54
## The Accelerated Database Recovery process
55
55
@@ -66,7 +66,7 @@ The ADR recovery process has the same three phases as the current recovery proce
66
66
67
67
-**Analysis phase**
68
68
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.
70
70
71
71
-**Redo** phase
72
72
@@ -113,11 +113,11 @@ The four key components of ADR are:
113
113
114
114
The cleaner is the asynchronous process that wakes up periodically and cleans page versions that are not needed.
115
115
116
-
## Who should consider Accelerated Database Recovery
116
+
## Accelerated Database Recovery Patterns
117
117
118
-
The following types of customers should consider enabling ADR:
118
+
The following types of workloads benefit most from ADR:
119
119
120
-
-Customers that have workloads with longrunning 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).
0 commit comments