By default, when a transaction begins, the database server defers creating the snapshot until the application causes the first
row of a table to be fetched. You can use the BEGIN SNAPSHOT statement to start the snapshot earlier within the transaction.
The database server creates a snapshot when the BEGIN SNAPSHOT statement is executed by a snapshot transaction.
The statement fails and returns an error when either of the following conditions is met: