What causes 'Recovery completed for database ...' log messages?
Check the database options for AutoClose. It looks like your database is having to start up every time someone connects to it after there have been no connections. To start a database, it also involves looking for any non-checkpointed transactions in the log, which then does a recovery to get the database ready for action.

AutoClose should be OFF.