sql >> データベース >  >> RDS >> Sqlserver

SQLServerエージェントのジョブアカウントの問題

    私は通常、アプリがデータベースにアクセスするのと同じアカウントでSQLServerエージェントジョブを実行します。

    そのアカウントの権限が制限されすぎている場合(これは良いことかもしれません!)、そのアプリとそのすべてのSQLジョブ(可能な場合)に対して単一のアカウントを作成し、そのアカウントですべてのSQLジョブを実行します。

    >

    各ステップを異なるアカウントで実行できる可能性がありますが、一般的には使用しません(どのアカウントで何が実行されているかを理解するのが非常に難しくなります)。多数の追加のアクセス許可を必要とする特に機密性の高い手順を実行する必要があり、それらのアクセス許可は特定のシステムアカウントなどでのみ使用できる場合にのみ使用してください。

    SQL ServerエージェントのWindowsサービスが実行されるアカウントは、実際には、ジョブステップが実行される対象に影響を与えません。

    つまり、実際には2つのアカウントに要約されます。

    • SQL ServerエージェントのWindowsサービスを実行するには1つのアカウントが必要です-これは、サービスの実行、サービスの開始と停止に十分なアクセス許可が必要なマシン/サーバー上のWindowsアカウントです-LocalSystem、ネットワークサービス、またはその他のWindowsを使用しますサービスを実行する必要があるアカウント

    • もう1つのアカウントは、SQL Serverエージェントの手順を実行するためのアカウントです。これは通常SQLServerアカウント(Windowsアカウントに基づく場合があります)であり、SQLServer内でその仕事を行うのに十分な特権が必要です。データベースオブジェクトとすべてにアクセスする必要があります。 アカウントを1つだけ持つように努めます SQL Serverジョブを実行するアプリごとに、作業が大幅に楽になります!

    マーク

    PS:ステップを実行するようにユーザーを設定するには、[ジョブステップ]プロパティダイアログの[詳細設定]ページを使用して、ポップアップウィンドウからユーザーを選択する必要があります。



    1. ORACLEでSQLUPDATEコマンドを使用してBLOB列にBLOBデータを追加/連結するにはどうすればよいですか。

    2. Access2016でフォームにサブフォームを追加する方法

    3. Djangoの移行-プロジェクトの途中でSouthを使用することは可能ですか?

    4. SQLServerパフォーマンスモニタリングに関する上位10のFAQ