Na enige tijd commentaar te hebben gegeven en ervan uitgaande dat de SP met dezelfde invoerparameters en gegevens goed presteert wanneer ze in SSMS worden uitgevoerd, denk ik eindelijk dat ik een laatste tip kan geven:
Afhankelijk van welke acties worden uitgevoerd binnen de SP (bijvoorbeeld veel gegevens invoegen/bijwerken/verwijderen binnen een lus of cursor), moet u nocount aan het begin van uw code instellen.
set nocount on
Indien dit niet het geval is of niet helpt, gelieve meer informatie toe te voegen, reeds vermeld in de opmerkingen (bv. alle instellingen van de Job en elke Jobstep, wat er gelogd is, wat er in de Jobhistory staat, check SQLerrorlogs, eventlogs,.. ..). Kijk ook eens naar de "SQL Server Logs" misschien kun je hier wat info verzamelen. Ook een kijkje in de Application/System eventlo van de Databaseserver is altijd een goed idee. Om een basisoverzicht te krijgen kunt u de Activitymonitor in SSMS gebruiken, door de Databaseserver te selecteren en "Activity monitor" te selecteren in het contextmenu en te zoeken naar de sql agent.
Mijn laatste poging zou zijn om te proberen een sql-tracering voor de agent uit te voeren. In dit geval zou u een tracering starten en b.v. door de gebruiker die de SQLAgent-service uitvoert. Er zijn zoveel opties die je kunt instellen voor traces, dus ik zou aanraden om ernaar te googlen, te zoeken op MSDN of een andere vraag hier op stackoverflow te stellen.