sys.sp_flush_log (Transact-SQL)

Applies to: SQL Server 2016 (13.x) and later versions

Flushes to disk the transaction log of the current database, thereby hardening all previously committed delayed durable transactions.

If you choose to use delayed transaction durability because of the performance benefits, but you also want to have a guaranteed limit on the amount of data that is lost on server crash or failover, then execute sys.sp_flush_log on a regular schedule. For example, if you want to make sure you don't lose more than n seconds worth of data, you would execute sp_flush_log every n seconds.

Executing sys.sp_flush_log guarantees that all previously committed delayed durable transactions are made durable. For more information, see Control Transaction Durability.

Transact-SQL syntax conventions

Syntax

sp_flush_log
[ ; ]

Arguments

None.

Return code values

A return code of 1 indicates success. Any other value indicates failure.

Result set

None.

Sample code

EXEC sys.sp_flush_log;