他のユーザーへのジョブ所有権の割り当て
このトピックでは、Microsoft SQL Server エージェントのジョブの所有権を他のユーザーに割り当てる方法を説明します。
作業を開始する準備: 制限事項と制約事項、セキュリティ
ジョブの所有権を他のユーザーに割り当てる方法:
SQL Server Management Studio
Transact-SQL
SQL Server 管理オブジェクト
作業を開始する準備
制限事項と制約事項
ジョブを作成するには、SQL Server エージェント固定データベース ロールか sysadmin 固定サーバー ロールのメンバーである必要があります。 ジョブの編集は、ジョブの所有者または sysadmin ロールのメンバーのみが行うことができます。 SQL Server エージェント固定データベース ロールの詳細については、「SQL Server エージェントの固定データベース ロール」を参照してください。
ジョブの所有者を変更するには、システム管理者でなければなりません。
別のログインにジョブを割り当てた場合に、新しい所有者がそのジョブを正常に実行できる十分な権限を持っていないこともあります。
セキュリティ
セキュリティを確保するため、ジョブの所有者または sysadmin ロールのメンバーだけがジョブの定義を変更できます。 sysadmin 固定サーバー ロールのメンバーのみが別のユーザーにジョブの所有権を割り当てることができ、ジョブの所有者とは無関係にジョブを実行できます。
注 |
---|
ジョブの所有権を sysadmin 固定サーバー ロールのメンバーでないユーザーに変更し、そのジョブがプロキシ アカウントを必要とするジョブ ステップを実行する (SSIS パッケージの実行など) 場合は、ユーザーがそのプロキシ アカウントにアクセスできることを確認してください。アクセスできない場合、ジョブは失敗します。 |
権限
詳細については、「SQL Server エージェントのセキュリティの実装」を参照してください。
[先頭に戻る]
SQL Server Management Studio の使用
ジョブの所有権を他のユーザーに割り当てるには
オブジェクト エクスプローラーで、SQL Server データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[SQL Server エージェント]、[ジョブ] の順に展開し、ジョブを右クリックして [プロパティ] をクリックします。
[所有者] ボックスの一覧で、ログインを選択します。 ジョブの所有者を変更するには、システム管理者でなければなりません。
別のログインにジョブを割り当てた場合に、新しい所有者がそのジョブを正常に実行できる十分な権限を持っていないこともあります。
[先頭に戻る]
Transact-SQL の使用
ジョブの所有権を他のユーザーに割り当てるには
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
ツール バーの [新しいクエリ] をクリックします。
クエリ ウィンドウで、sp_manage_jobs_by_login (Transact-SQL) システム ストアド プロシージャを使用した次のステートメントを入力します。 次の例では、danw からのすべてのジョブを françoisa に再割り当てします。
USE msdb ; GO EXEC dbo.sp_manage_jobs_by_login @action = N'REASSIGN', @current_owner_login_name = N'danw', @new_owner_login_name = N'françoisa' ; GO
[先頭に戻る]
SQL Server 管理オブジェクトの使用
ジョブの所有権を他のユーザーに割り当てるには
- Visual Basic、Visual C#、PowerShell などのプログラミング言語で Job クラスを呼び出します。 詳細については、「SQL Server Management Objects (SMO)」を参照してください。 コード例については、「SQL Server エージェントでの自動管理タスクのスケジュール設定」を参照してください。
[先頭に戻る]