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.
Msg 3903.. The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.http://nosqlsolution.blogspot.co.uk/