I looked around and found many many different websites that offer 1-off tools for purchase that purport to solve this problem. Mostly the websites are written in poor English and the prices are around $49. With so many shady tools trying to monetize this problem, I figured there would be a simpler solution.
the first option I considered was the scanpst.exe tool, included with outlook. I ran this on the file, and it actually increased in size, slightly. Trying to open the "fixed" file in outlook gave me the same error.
The next option I considered was the PST Crop tool, from Microsoft. The tool, I gather, simply truncates the PST file, and then re-indexes it. You lose "some amount" of data from the PST file. This sounded really undesirable to me, so I rejected this idea.
The next option I considered was manually modifying the PST file myself, according to the general outline described here. But this started to look pretty complicated. I could easily copy the pst file, and introduce a corruption, then run scanpst, and get the resulting "smaller" pst file. And the suggestion is to do that more than once, introducing artificial corruption into the original PST file in different places, thereby recovering all of the data in the file. But the problem is I'd have duplicates, and I'd need to resolve all those duplicates afterwards. Something I didn't look forward to. so I rejected this too.
I looked into PST Walker, a $49 tool that opens PST files without relying on Outlook or the Outlook automation. There's a trial version of the tool, which I used to read the PST file. This showed that the file was not corrupted. but the tool is a read-only thing, and I didn't see a way to export the data into a smaller PST. So I ruled this out.
finally - the solution. I just compacted the PST file from within outlook. It resulted in a savings of about 300mb in the 2gb file. Compaction took about 30 minutes.
1.On the File menu, click Data File Management.
2.Click to select your Personal Folder, and then click Settings.
3.On the General tab, click Compact Now.
4.Click OK, and then click Close.
After compaction, I was able to open the file within outlook. At this point I will convert the PST to a Unicode (Outlook 2003) PST file, which is not limited to 2gb.
I hope this helps someone else.
I think it's shameful that outlook can allow you into the situation where you add an item into a PST, and that makes the PST unusable within outlook. But there is a reasonable solution - compaction and conversion - that may allow you to avoid the problem in the future.