Q:

Store .pdf in SQL or path?

I am wondering what the best way to store a .pdf would be.  Is it okay to store them as blobs in SQL or is it better to store them on a data disk and store the path in the table?  
Thanks

A:

There isn't one right answer here but one consideration is if volume of data will be a problem.  If it's not too large I prefer to keep them in the database for the same reason I like to have a database with backups, consistency and recoverability of my data.  If you use file system, or even filestream you do not back up your pdf when you backup your database, and if you restore to another server or rollback to a previous point in time you may end up with your pdfs and your data in inconsistent states.  Sure it will perform better and you should definitely keep that in mind but if performance isn't an issue it sure is nice to be able to restore a database to another server, even in development or test and know that you have all of your data, not all of your data EXCEPT your pdfs.  
UPDATE: Martin is correct, filestream data is backed up with your regular backups and you can use the WITH MOVE option when restoring to restore the data to a different location if needed.  So to clarify, if you use plain old pointers to files on disk somewhere you will not have your pdfs backed up when you backup your database but you will if you use filestream.  You still need to be careful that the files are not modified outside of the database since the database will no longer ensure integrity of your records, for example a user could delete the file off of the filesystem that the filestream is pointing too, or antivirus could quarantine the file if it was configured incorrectly.  With a little planning filestream looks like a great option for many scenarios.

