Prior to Sql Server 2005 it would have been text or nText (the n prefix is for unicode data as opposed to ASCII data) as varchar is limited to approx 8000 chars (the max length of a row allowed and if you use it all for one varchar column you got no space left for anymore) Text fields require a little extra work in your Sql statements though :(
If you mean Sql Server 2005 Express then your options are better :)
varchar(max) (non-unicode ASCII chars only)
nvarchar(max) (Unicode chars)
I recommend varchar or nvarchar. If your data is all in plain english (no special chracter sets) then varchar(max) is your baby
If you're in one of those predicaments where cls.__private attributes just aren't enough since they can easily be accessed through inst._cls__private, and you need something a little more secure, here's ...