Why is Drupal displying missing core tables for an external DB?
If I had to guess you called db_set_active() in some code and forgot to switch back to your master drupal database, so "drupal" execution continued after you intended it to with the current database set as your alternate.

The lager_db probably has no semaphore table, but drupal's trying to call it anyways. You should switch back to drupal at the end of your custom code (or as necessary) with db_set_active(); it passes the 'default' parameter if none is given.