ストアドプロシージャからのsp_start_jobの呼び出し
開発者は、.NetコードからSQL Serverエージェントジョブを開始できる必要があります。msdb..sp_start_jobを呼び出してそれを実行できることはわかっていますが、一般ユーザーアカウントにジョブを実行するための直接アクセス権を与えたくありません。 私がしたいのは、WITH EXECUTE AS句を使用してアプリケーションのデータベースにストアドプロシージャを作成し、プロキシアカウントを偽装することです。現在の手順は次のとおりです。 CREATE PROCEDURE dbo.StartAgentJob WITH EXECUTE AS 'agentProxy' AS BEGIN EXEC msdb.dbo.sp_start_job N'RunThisJob'; END ただし、これを実行すると、次のメッセージが表示されます。 The EXECUTE permission was denied on the object 'sp_start_job', database 'msdb', schema 'dbo'. 何か案は?これはSQL2005でこれを行うための最良の方法ですか?