Después de algún tiempo comentando y asumiendo que el SP funciona bien con los mismos parámetros de entrada y datos cuando se ejecuta en SSMS, finalmente creo que puedo dar un último consejo:
Dependiendo de las acciones que se realicen dentro del SP (por ejemplo, insertar/actualizar/eliminar una gran cantidad de datos dentro de un bucle o cursor), debe configurar nocount on al comienzo de su código.
set nocount on
Si este no es el caso o no ayuda, agregue más información, ya mencionada en los comentarios (p. ej., todas las configuraciones del trabajo y cada paso del trabajo, qué se ha registrado, qué hay en el historial del trabajo, verifique los registros de errores de SQL, los registros de eventos, etc.) ..). También eche un vistazo a los "Registros de SQL Server", tal vez pueda recopilar información aquí. Además, siempre es una buena idea echar un vistazo al evento de la aplicación/sistema del servidor de la base de datos. Para obtener una descripción general básica, puede usar el monitor de actividad en SSMS, seleccionando el servidor de la base de datos y seleccionando "Monitor de actividad" en el menú contextual y buscando el agente sql.
Mi último intento sería intentar ejecutar un seguimiento de SQL para el agente. En este caso, iniciaría un seguimiento y un filtro, p. por el usuario que ejecuta el servicio SQLAgent. Hay tantas opciones que puede configurar para los seguimientos, por lo que recomendaría buscar en Google, buscar en MSDN o hacer otra pregunta aquí en stackoverflow.