What data type should I use to store HTML content in SQL Server 2008?
It's for dynamic content for a CMS.
VARCHAR(MAX) if it's all going to be ascii-based, say for basic HTML tepmplates
NVARCHAR(MAX) if the HTML could contain any content
NVARCHAR will double your storage use as it uses double the amount of space as VARCHAR. HTML itself does not require NVARCHAR, only the content in-between the HTML tags could based on the language, etc..
Edit:
Many years on from giving this answer I almost always use NVARCHAR now if there is any between the tag content. Unicode is popular...
I only use VARCHAR if just storing simple html templates, eg tags and placeholders
eg: <div><span>[PLACEHOLDER]</span><div>
Make the call based on your use-case..
NVarChar unless you will only store HTML documents with a "external character encoding" or "charset" which is a sub set of ASCII. In the later case, all graphemes represented in the document will be ASCII characters so VarChar will be safe.Put it in an NVARCHAR(MAX) (or smaller).
HTML is no different from other text.