Paul White NZ (3/31/2010)
The whole backup operation is conceptually quite simple:
Force a database checkpoint (flush all updated-in-memory pages to disk before anything is read by the backup)
Record the minimum recovery LSN (LSN1)
Database data read begins
Record the current LSN (LSN2)
Read the transaction log from LSN1 to LSN2
Thanks Paul, that's a very clear description. It answers all the questions I had about whether dirty data is flushed first, when the start LSN is recorded, and whether the final LSN is allowed to be later than the current LSN at the end of the DB read.
And I see the MS design does include flushing already dirty pages to disc despite Hugo's suggestion that this is not a useful thing to do.