Each time a task is ran a new row is created in TaskOutputProperty Table. So if you have a single job like Deployment that runs 20 tasks, that’s 20 new rows that are added to the table each time the job runs. Similarly the TaskOutputPropertyValue table grows in the same manner.
Verify that the Clean Up Task Data task is running as required. If it is holding too much data please lower the row count and time Task Output is kept, according to the needs of your environment.
Location: Settings > Notification Server > Task Settings > Clean Up Task Data
In case the TaskOutputProperty Table is too big to let the "Clean Up Task Data" task to be able to finish, check the following:
You can use the following query to find out if there are tasks that could be the biggest offenders:
select i.Name, i.Guid, count (ti.TaskInstanceGuid)
--, cast (ivd.State as xml)
from ItemVersionData ivd
join taskinstances ti on ivd.VersionGuid = ti.TaskVersionGuid
join ItemVersions iv on iv.VersionGuid = ivd.VersionGuid
join Item i on i.Guid = iv.ItemGuid
where ivd.state like '%collectOutput="True"%'
group by i.Name, i.Guid
order by 3 desc
Then take one of the following options:
KB 177057 "The TaskOutputPropertyValue table is growing very large"