2013-02-20 5 views

答えて

3

ユーザーが所有しているジョブは、そのユーザーが無効になっているか削除されていると実行を停止します。実行時にActive Directoryに問題がある場合、ジョブは実行されないこともあります。ブレント・オザールは、彼のウェブサイトでこれについての記事を持っています: http://www.brentozar.com/blitz/jobs-owned-by-user-accounts/

+0

を選択します。だから私はこれらのニーズのいくつかのために "SQL認証"をつかんでいます。私はおそらく専用のjob_owner(SQL認証)アカウントを作成します。主にsaは何かを削除/削除することができるので、私は自分のすべてを 'sa'にするのが少し怖いです。 – granadaCoder

+0

はい、実際に私はこの質問をするために私を導いた(sp_Blitzについて)見た彼のSQLPASSプレゼンテーションでした。私の仕事の多くは非saアカウントによって所有されているので、この変更を加えたいと思います。私はちょうどそうすることを避ける何らかの理由がないことを確認していた。 – Aushin

+0

@ granadaCoder私は通常、SQL Agentのプロキシを使用してジョブステップの権限を変更します。 [リンク](http://msdn.microsoft.com/en-us/library/ms189064(v = sql.105).aspx) –

0

あなたは私と一緒に耐える必要があります。私は思い出に行くからです。

いくつかの古いスクリプトを見ると、私はこのコードを持っています。

@jobOwnerNameVeryImportantToSetCorrectly = 'someSqlAuthenticatonUser' 今

を選択します。私のシナリオでは、私は非 'sa'ユーザーがジョブをスケジュールして実行することを許可しました。 なぜ私はオーナーを非 'sa'ユーザーにしたのですか?

私が答えると思う質問は、「誰が仕事をするのか」です。それが常に「sa」ならば、それは問題ではない。

しかし、 'sa'以外のアカウントで実行したい場合は、super-mack-daddyアカウントの所有するジョブを実行する権限のないアカウントはどうなりますか?

私のテストになります。

  1. ジョブを作成します。それを所有しましょう。
  2. 一時SQL認証アカウントを作成します。
  3. このSQL認証アカウントとしてデータベースにログインします。
  4. ジョブを実行できるかどうかを確認してください。

私の記憶は、「より少ないアカウントはできない」と言っています。しかし、Sql Server 2005の仕事を扱っています。2005年に正しく覚えていても、2008年や2008年R2では同じではないかもしれません。

しかし、私はこれに問題があることを覚えています。したがって、私の変数宣言:

@jobOwnerNameVeryImportantToSetCorrectly = 'someSqlAuthenticatonUser' 良い点だ

+0

ジョブの所有権は、ジョブの実行者に影響しますか?私はそれが所有者に関係なくジョブを実行したのは常にSQLエージェントアカウントだと思っていました。 – Aushin

関連する問題