0
votes

I have inherited a poorly documnted CRM 2011 instance, lets call it 'haystack', that has literally 100s of batch processes and workflows running on it under the same user account (IT_Job). One of them, lets call it 'needle', has a problem.

I know 'needle' ran at noon. But the Advanced find only allows me to query the scheduled jobs down to the day they ran NOT the time they ran.

How do I find out which Batch Process or Workflow last updated an entity (incident). All I seem to be able to query the scheduled jobs by is IT_Job.

It seems to me that the only way to find the 'needle' job would be to systematically add a corresponding User for each job that acts on 'incident' to then search for job running as the user that last modified the record.

So how do I find 'needle' quickly?

EDIT Ok it turns out the site I am working for won't allow me access to the database or allow me to deploy a console app. (One could argue that they're not interested in a solution to this problem) So is there any other way to query this data?

1
You should be able to write a quick console application using the Dynamics CRM SDK to access the web services in order to execute a more specialized query against the systemjob entity matching on specific time frames.GotDibbs
Can I do that with a SQL QueryPeter

1 Answers

1
votes

If you have access to the SQL server then you can query the table dbo.WorkflowLogBase. This will help you narrow down which workflows had run at that exact time.

You might also be able to add some extra information by looking at the audit history for the record that has been changed assuming that auditing is turned on.