none
sql server2005 express edition エラー: 18456、重大度: 14、状態: 16 RRS feed

  • 質問

  • とても困っています。お助けください。

    sql server2005 express edition をデータベースエンジンとするアプリケーションにおいて、
    データベースにログオンする際、次のようなエラーが出る場合があります。

    2014-xx-xx 14:15:20.56 ログオン         エラー: 18456、重大度: 14、状態: 16。
    2014-xx-xx 14:15:20.56 ログオン         Login failed for user 'xxx'. [クライアント: <local machine>]

    上記はERRORLOGの抜粋です。xxx は実際のアカウント名が入っています。
    このエラーは、100%起こるわけではありません。

    で、質問です。

    1.このエラーの原因はなんでしょうか? 状態:16がわからないため、困っています。
    2.このエラーが出た場合の対処方法を教えてください。
    3.このエラーが出ないようにする対策を教えてください。

    よろしくお願いします。

    2014年9月2日 16:36

回答

  • >1.このエラーの原因はなんでしょうか? 状態:16がわからないため、困っています。
    公式には、以下にあるとおり「予期しない内部処理エラー」です。
    http://msdn.microsoft.com/ja-jp/library/cc645917.aspx
    実際は、接続時に接続先のデータベースに対する Connect 権限が無い、接続時に接続先のデータベースが有効になっていない、といったような SQL Server へのログインは成功したがデータベースに接続できないときのエラーだったはずです。
    ※2008 以降ではこの状態 16 が、16、38、40 などに細分化されているのですが、2005 だと全部まとめて 16 になるはず。

    >2.このエラーが出た場合の対処方法を教えてください。
    「100% 起こるわけではない」という状況から、DB への接続の再試行(アプリケーションの再起動など)が対処方法になるかと思います。

    >3.このエラーが出ないようにする対策を教えてください。
    先に書いたように原因がこれだけでははっきりしませんが、とりあえず以下のどちらかに該当していないか確認してください。
    Express Edition ということなので、現状提示されている情報のみで考える限りは 1 つ目が該当する可能性が高そうです。
    http://blogs.msdn.com/b/jpsql/archive/2012/08/07/sql-server-18456-xxx.aspx
    http://www.archivum.info/microsoft.public.jp.sqlserver.server/2008-03/00001/Re-MS-SQL-2005-Express--x3067-'-x30A8--x30E9--x30FC--18456-x3001--x91CD--x5927--x5EA6--14-x3001--x72B6--x614B.html


    MCITP(Database Developer/Database Administrator)

    • 回答の候補に設定 星 睦美 2014年9月5日 5:28
    • 回答としてマーク 星 睦美 2014年9月22日 7:22
    2014年9月3日 1:07