First of all, you should set the configuration setting of max number of versions to a reasonable value to clear old versions when new are created. You can do this in the CMS administration view under Config => System Settings => Editing.
I don't think that there is any API support to clear versions after changing the value, though the versions will be reduced to the max count the next time a user publishes a page. If you want to clear existing data directly in the database there is an stored procedure you can call. You will have to loop the pages and then call:
EXEC editDeleteObsoletePageVersions @PageID=@PageID, @MaxVersions=@MaxVersions
I have successfully repaired databases where scheduled jobs have created a million page versions.
I had to remove a lot of indexes and constraints to be able to clean up successfully and then restore them after the job was completed. Using the existing stored procedures was to slow in that case.
Contact me directly and maybe I can help you get started if this is needed.
The table tblworkproperty is very large, is it possible to delete any data/page versions?
It is probably large because we have a lot of jobs running and updating pages every hour.
Does tblworkproperty only store page versions?
Other ideas how to shrink this table? for the moment 1 200 000 rows and 550 mb.
plz help, thank you.