ジョブ実行が失敗する場合の対処方法(エラー コード 0x5。 [SQLSTATE 42000] (エラー 15404))

SQL Server Agentジョブを実行した際に下記の様なエラーが発生した際の対処方法です。

ジョブは失敗しました。 所有者 [ドメイン名]\[ユーザー名] (ジョブ [ジョブ名]) にサーバーのアクセス権があるかどうかを確認できません (理由: Windows NT グループまたはユーザー ‘[ドメイン名]\[ユーザー名]‘ に関する情報を取得できませんでした。エラー コード 0x5。 [SQLSTATE 42000] (エラー 15404)).

このエラーは、SQL Server Agentサービスを実行しているアカウントが、実行しようとしてるジョブの所有者を確認しようとして、確認できなかったために発生しています。

今回の私のケースでは、次の組み合わせだったので、発生しました。

  • SQL Server Agentサービスをマシンローカルのユーザーアカウント(アカウントLo)で実行していた
  • ジョブの所有者がActiveDirectoryのドメインユーザー(アカウントD)だった
  • よって、アカウントLoではアカウントDの情報が取得できない(ADにアクセスできないから)ため、エラーが発生した

解決方法ですが、2種類あります。

その1

SQL Server Agentサービスの実行アカウントを、ADにアクセスできるアカウントに変更する方法。

こうすれば、SQL Server Agentサービスがジョブ所有者の情報が取得できるので、エラー解決します。たぶん。
たぶん、と書いたのは、私はAD管理権限がないため、この方法がとれなかったので、結果確認していないからです。

その2

ジョブ所有者を、saに変更する方法。saじゃなくても、sysadminのSQLServer認証ユーザーでもOKと思われます。

こうすれば、マシンローカルアカウントでも、ADにアクセスする必要が無いから、エラーになりません。
今回はこの方法で解決しました。

参考資料

version: SQL Server 2008R2

One Reply to “ジョブ実行が失敗する場合の対処方法(エラー コード 0x5。 [SQLSTATE 42000] (エラー 15404))”

  1. Hi, everything is going nicely here and ofcourse every one
    is sharing facts, that’s really excellent, keep up writing.

コメントを残す