One of the great features of SQL Server 2008 is the FILESTREAM Data feature. In previous releases we had to decide between storing BLOB data completely inside the database or completely outside. Now we have the best of both worlds. And it lets us create unlimited column sizes. But watch out, it is not compatible with every feature of SQL Server....
For example, Database Mirroring and Filestream data are not compatible. You'll get an error when trying to form the Mirror partnership. Also, although you can create a Snapshot on a database that has Filestream data, the Filestream Filegroup itself is not compatible with the Snapshot. Transparent Data Encryption is great for the database, but it does not encrypt the Filestream data. Do you get the feeling that this feature was developed in isolation?
OK, let's balance things out. Replication supports Filestream data. Log Shipping supports it. So does Failover Clustering, as long as the data is on a shared disk. Full Text Indexes work with Filestream columns. Even SQL Server Express supports it and the 4GB database limit does not include the Filestream data.
As always, there's good news and bad news. But that's not SQL Server, that's life.
Using FILESTREAM with Other SQL Server Features:
Brian D. Egler, MCITP/MCSE/MCT 2009, is currently an instructor with Global Knowledge, teaching various Microsoft training courses. He is a SQL specialist with a focus on SQL Server, Windows, .Net and XML. Egler has been a technical instructor for over 20 years and has more than 10 years experience with SQL Server, data modeling, database design, application development including IMS, DB2, Sybase. Every year he runs the Boston Marathon for cancer research.