Hello,
Unfortunately, I do not know of any good way to quickly restore the VLAN definitions if the VTP database get erased by a misbehaving VTP switch.
What I am thinking about is having a textual configuration of all VLANs available somewhere. Perhaps having a switch join the VTP domain, then - after it synchronizes its VLAN database - convert it to VTP Transparent mode, capture the VLAN definitions from the running-config and convert it back to VTP Server/Client mode. This would allow you to always keep a textual copy of your VLAN database, and in cases of emergency, you could simply paste it in your configuration again.
It would actually be SO helpful if there was a utility that could decode the vlan.dat into a text representation compatible with the CLI so that it would be possible to keep a text copy of the VLAN definitions! Well, maybe I'll write one...
Best regards,
Peter