Late initialization for the sql backend
The sql backend tries to open a connection to the database at initialization time, so if the db is unavailable the process will immediately exit. This might not be desirable when there are multiple backends, and it is in fact not how the ldap backend (which does a connection per request, so implicitly implements delayed init) works.