web-dev-qa-db-ja.com

SqlServerAgentジョブの所有者は何ですか?

SQL Serverエージェントジョブの所有者はどのように使用できるのでしょうか。

削除し、空白のままにしても、ジョブは引き続き成功します

SqlServer Agent Job Owner

4
Fulproof

(編集:この回答は受け入れられ、有効ですが、 @ Greenstone-Walkerその他の回答 を読んでいることを確認してください。優れた情報があるためです)

Billinkc に記載されているように、ジョブはその所有者またはsysadminロールのメンバーのみが編集できます。 Shawn Melton に記載されているように、所有者をジョブから削除すると、ログインが所有者になることが保証されます。これは、msdbデータベースのシステムストアドプロシージャを見るとわかります。exec msdb.dbo.sp_help_job @job_name = 'somejob';

Books Onlineには、SQL Serverエージェントジョブセキュリティに関する記事「 他のユーザーにジョブの所有権を与える 」というタイトルで、プロセスを詳しく説明しています。

3
Max Vernon

ジョブの所有者は、ジョブのステップの実行コンテキストを決定します。

T-SQLジョブステップの場合:ジョブの所有者がsysadminの場合、ステップはSQL Serverエージェントサービスアカウントまたは指定されたデータベースユーザー([ジョブステップのプロパティ]ダイアログの[詳細]ページで設定)として実行されます。ジョブの所有者がsysadminでない場合、ステップはジョブの所有者として実行されます。

その他のジョブステップの場合:ジョブの所有者がsysadminの場合、ステップはSQL Serverエージェントサービスアカウントまたは指定されたプロキシのいずれかとして実行されます。ジョブの所有者がsysadminでない場合、ステップは指定されたプロキシとして実行されます(プロキシを使用する権限をジョブの所有者に与える必要があります)。

SQLエージェントプロキシは、いくつかの外部セキュリティプリンシパルに関連付けられたシークレットを格納するSQL Server資格情報に基づいて作成されます。たとえば、sysadmin KimはADVENTUREWORKS\Bobの資格情報を作成し、その資格情報に基づいてプロキシを作成します。彼女は、CmdExecサブシステムのプロキシをアクティブにします。彼女は(sysadmin以外の)Qinにそのプロキシを使用する権利を与えます。 Qinは、ADVERNTUREWORKS\Bobとして実行されるCmdExecジョブステップを作成できるようになりました。

Books Onlineの SQL Serverエージェントセキュリティの実装 を参照してください。

9