• ベストアンサー

SQL Server 2008のジョブで次のコマンドを実行したら、いつ

SQL Server 2008のジョブで次のコマンドを実行したら、いつまでも終了しません。 "C:\Program Files\Microsoft Office\Office12\Office12\MSACCESS.exe" "D:\XXX\PM.accdb" /x M_Create 現状としては、 1、タスクマネジャーを確認したら、Accessがちゃんと立ち上がりました。また、PM.accdbと同じフォルダにPM.laccdbというファイルも生成されました。 2、ジョブの履歴を見たら、実行ユーザーはジョブの持ち主ではなく、「サーバー名\SYSTEM」というものです。これはSQLServerエージェントサービスアカウントのことですね。 3、上記コマンドをコマンドプロンプトで実行すると、無事終了しました。 4、関連ファイルやフォルダにはEveryOneにフル権限を与えています。 全般的に見ると、実行ユーザーのせいではないかと思いますが、同じようなことを経験した方がいらっしゃいますか。 何の情報でもいいですから、ぜひ教えてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.1

システムアカウントというのは特殊なアカウントでログインした画面を見ることはできませんから、推測になりますが、 ・実行中に何かメッセージが出た ・マクロが有効にならず走らなかった などの理由で止まっているのでしょう。 タスク実行はUIに対応していませんので、ACCESSを開いたとしても自動的に終了しなかった場合は画面が見られない以上どうしようもなくなります。 以前、エージェントの実行アカウントを実際のローカルアカウントに変更し、起動後何のメッセージも出さずに処理し、自動的にExcelを終了するExcelファイルを作って試したところ処理は実行できました。 しかし、「どんな場合でも止まらない処理」を書くのは不可能に近いですから、止まってしまったら強制終了するしかなくなるようなアプローチは危険であることには変わりはないです。

関連するQ&A