• 締切済み

SQL SERVER エージェントの権限

SQL SERVER エージェントのジョブにおいて、 各ジョブごとに実行権限を制御できないのでしょうか? 要するに、とあるAジョブを管理するaさんに bさんが管理するBジョブを実行できないようにする (見えなければなお良い)ができないのでしょうか? 初歩的な質問ですが、宜しくお願いします。

みんなの回答

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

ドキュメントを読んだのに試していないというのは、試す環境をお持ちでないということですか? 「できなくはない」というのはAgent Jobはスケジュール実行の目的で使うことの方が圧倒的に多く、 管理者以外に権限を渡す方が少ないと思っているから、そう書いたまでです。 (私自身も実務では管理者以外に権限を付与していません) まあ、これは多分に主観が入っているので、他意はありません。 管理者以外の人でもSQLAgentUserRole以上を割り当てれば、SQL ServerエージェントにSSMSから アクセスできるようになります。SQLAgentUserRoleであれば自分で作ったJob以外は見えませんし、 実行もできます。 もちろん、実行する内容自体に権限がない(ストアドやVBSを実行する権限がないなど)場合は実行してもエラーになるだけですが。

saboleader
質問者

お礼

有難うございます。 大変参考になりました。

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

できなくはないです。 sysadmin権限を与えてしまったユーザは何でもできますからどうしようもないですけど、それ以外のユーザならロールを割り当てることで、Agentへのアクセスを限定的に与えることができます。 ロールはmsdbにあります。 詳細は以下をご覧ください。 SQL Server エージェントのセキュリティの実装 http://msdn.microsoft.com/ja-jp/library/ms190926(SQL.90).aspx

saboleader
質問者

補足

「できなくはない」は理論上のお話でしょうか? 実例としての回答を頂きたく。 添付URLは勿論事前に参照していますが、 管理者権限以外がジョブの実行が可能ですか?

関連するQ&A