How about a controversial suggestion for your user case?
Consider using a schema-less store like mongodb instead? Your problem is key / value on a key of QuestionID+UserID (at least from the info given)
You application could attempt to parse whatever the user gave you (probably using some sort of per question pattern matching -- or a more explicit user form per question approach).
Then dump the parsed response into the datastore (because it's a document oriented schema-less design you can have different fields per document).
Mongodb supports json documents (bson actually) that are query able and index-able per field.
Whatever relational database you were to use you'd have a hard time modelling this requirement because there are so many ad hoc options you could put on each response.
Transact Charlie
Msg 3903.. The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.
http://nosqlsolution.blogspot.co.uk/