If you assume the following:
- 1 - Clients are actively using the SQL Server, sending inserts,
updates and deletes.
- 2 - Power loss causes the SQL Server to crash.
On startup, the server will do a brief recovery check on all of the databases and will rollback any transactions that were "in-flight" at that time. Note that any committed transactions will be preserved, only the ones where SQL Server had not done an acknowledge back to the client.
Caveats:
- If you have delayed durability turned on, then you may lose more than
that.
- If you suffer disk/file corruption as a result of the power loss /
server interruption then that will also hurt you here.
When the database comes up, it will be in a transactionally consistent state, depending on the size of the transaction that was in flight, the server may have to roll back quite a bit of data, but it will be transactionally consistent.