Usually error 2950 means that the code run up to a certain point and then it had a bug. But if you tested it in a development environment (which I assume you had), then it seems to me as if it is a sign of a corrupted database. My solution was using my back up from couple of days ago. Lucky me...