Routine maintenance to keep the LocalizedText table trim has been a part of the OpsMgr administrators world for a while now.  We have had a standardized query to clean this table that is posted on many blogs around the community – Kevin has a good article on the required cleanup posted here.

I recently came across a problem where this cleanup script was not fully effective.  My customer had 18 million rows but we were only able to purge down to 9 million.  Turns out that the extra rows were due to specific event collection that happens with the SCCM and Exchange management packs – and perhaps others.  Through our work we came up with the  script at the bottom of this page that took care of the remaining rows and purged the localizedtext to roughly 500,000 rows – well within the manageable range.  If you find that your localizedtext just won’t clean up to under a million rows you might find this extra query useful.

In an SP1 environment, make sure you continue to run the initial localizedtext cleanup as mentioned in Kevins blog and follow it by the one below.  In an R2 environment, the localizedtext query Kevin references should no longer be required but the one below WILL continue to be required if you are affected by the issues that cause the row count to remain.

Many thanks to our product team for help guiding the creating of this query.