I would save the HTML in NVARCHAR (MAX) (or less if you don't need more than 4000 characters). Do not use the TEXT / NTEXT data type if you are not stuck in SQL Server 2000. They are deprecated, and the advantages of the MAX types make their use reckless IMHO.
I would investigate saving files as FILESTREAM in SQL Server 2008. If you are <2008, or you explored trade-offs, and FILESTREAM is not an option, then my personal preference is to store files on the file system, as well as a local and / or http link to a file in the database.
The advantage of storing files in a database is that you get a sequence of transactions. The downside is that you use much more database space, which is usually located on more expensive storage. It’s also much harder to debug (you can't just say “SELECT PDFFile FROM Table” in Management Studio and expect Acrobat Reader to appear and show the contents of your column).
Since at work I have to ask and sign the rights to my unborn children for a greater allocation of SAN, and when I play, they pay me a lot more for using the database space than using my file space, I choose file storage every time. There is a backup on our file system and although it is not 100% synchronized with the database backups, we saw so few problems with file corruption that were not an end-user error (and easily fixed without our participation) - zero, actually - this, apparently, is not worth exploring.
As I said, personal preference. But ask the right questions and understand your goals and limitations.
source share