The v13 revision adds support for creating dynamic dumps without a quiet checkpoint requirement.
Prior to v13, dynamic dumps required that all new transactions be stopped until outstanding transactions completed, allowing a checkpoint with no active transactions to be written to the transaction log. But this could cause an arbitrarily long delay if large transactions were active. The quiet checkpoint was required in order to have a valid starting point for a forward roll.
To request a backup without stopping all new transactions, add !ALLOW_TRAN to your dynamic dump script. This eliminates the delay caused by waiting for active transactions to complete, but causes the backup to be larger and additional processing to occur when restoring from the backup. This added overhead is proportional to the size of the active transactions at the time of the backup.
!ALLOW_TRAN eliminates the need for a quiet checkpoint during dynamic dump, unless server configuration option PREIMAGE_DUMP is active. When PREIMAGE_DUMP is active, !ALLOW_TRAN is ignored. When !ALLOW_TRAN is in effect, it modifies the behavior of the existing !DELAY <interval> dynamic dump option: if !DELAY is non-zero, block new transactions for up to <interval> seconds, waiting for a quiet transaction state.
If a quiet transaction state is reached, we create a regular backup. If <interval> expires and active transactions remain, continue the backup with active transactions. This allows the use of a short delay to possibly get a smaller and faster restoring backup if large transactions are unusual.
When a backup created with !ALLOW_TRAN is restored, any changes made by transactions that were active at the beginning point of the backup will be rolled back. A forward roll that begins from such a backup will apply these earlier transactions.