Drupalのモジュールを開発していて
モジュール内でアクセス制御を行おうと思い。
drupal_access_denied();や
drupal_not_found();を実行してみると
Base table or view not foundのエラーが

Drupalとは別データベースにアクセスしていたのが原因なようで
db_set_active(‘external_database’);を実行すると
エラーメッセージ的に言うとベースデータベース?が切り替わるようで
not found等の処理を行う前にdb_set_active(‘default’);で
デフォルトのデータベースに戻してあげると
drupal_not_found();とした場合の制御が戻ります。