1) Eu acho que o SSMS está fazendo algo que pode ser considerado um 'recurso'. O que você observa é que o SSMS permite reiniciar o SQL Server Agent com as permissões do Windows, independentemente das permissões que você tenha no SQL Server, ou quais permissões você registrou no servidor no Object Explorer, por exemplo. Eu criei uma conta sql com apenas a função SqlAgentUser em msdb & foi capaz de reiniciar o Agente, embora eu tenha iniciado o SSMS como administrador local.
Eu tentei fazer a mesma coisa novamente, embora eu tenha criado uma conta de usuário do windows local & iniciou o SSMS usando Run As .. como esse usuário não administrativo local. O que eu descobri foi que eu não conseguia parar o agente, na verdade, o SSMS caiu quando eu tentei (oh querida!), Mas o agente continuou correndo. ... Portanto, a moral da história é: certifique-se de que os usuários que você deseja apenas executar trabalhos específicos não sejam administradores locais em sua caixa do SQL Server. Se eles estiverem, eles podem já reiniciar o agente e o SQL Server para essa questão! então pare de se estressar !!
2) Você pode fazer algo como criar seu próprio sproc que chama msdb.dbo.sp_start_job
@yourjobid e usar EXECUTE AS ou setuser dentro desse sproc. Em seguida, conceda a sua permissão de usuário apenas a esse sproc.
3) Você está louco?!?!?!