- 締切済み
SQL SERVER エージェントの権限
SQL SERVER エージェントのジョブにおいて、 各ジョブごとに実行権限を制御できないのでしょうか? 要するに、とあるAジョブを管理するaさんに bさんが管理するBジョブを実行できないようにする (見えなければなお良い)ができないのでしょうか? 初歩的な質問ですが、宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- jamshid6
- ベストアンサー率88% (591/669)
ドキュメントを読んだのに試していないというのは、試す環境をお持ちでないということですか? 「できなくはない」というのはAgent Jobはスケジュール実行の目的で使うことの方が圧倒的に多く、 管理者以外に権限を渡す方が少ないと思っているから、そう書いたまでです。 (私自身も実務では管理者以外に権限を付与していません) まあ、これは多分に主観が入っているので、他意はありません。 管理者以外の人でもSQLAgentUserRole以上を割り当てれば、SQL ServerエージェントにSSMSから アクセスできるようになります。SQLAgentUserRoleであれば自分で作ったJob以外は見えませんし、 実行もできます。 もちろん、実行する内容自体に権限がない(ストアドやVBSを実行する権限がないなど)場合は実行してもエラーになるだけですが。
- jamshid6
- ベストアンサー率88% (591/669)
できなくはないです。 sysadmin権限を与えてしまったユーザは何でもできますからどうしようもないですけど、それ以外のユーザならロールを割り当てることで、Agentへのアクセスを限定的に与えることができます。 ロールはmsdbにあります。 詳細は以下をご覧ください。 SQL Server エージェントのセキュリティの実装 http://msdn.microsoft.com/ja-jp/library/ms190926(SQL.90).aspx
補足
「できなくはない」は理論上のお話でしょうか? 実例としての回答を頂きたく。 添付URLは勿論事前に参照していますが、 管理者権限以外がジョブの実行が可能ですか?
お礼
有難うございます。 大変参考になりました。