SQL Server 2008 - Improved BLOB Support via FILESTREAM
FILESTREAM in SQL Server 2008 enables SQL Server-based applications to store binary large object (BLOB) data such as documents, images, and videos, as files on the file system. The size of this unstructured data is limited only by the volume size of the file system.
This type of storage is enabled by specifying a FILESTREAM attribute on a regular varbinary(max) column, which causes data to be stored in the file system instead of the database file. Applications use Transact-SQL statements to insert, update, delete, and query data stored in a FILESTREAM column. In addition, applications can take advantage of Win32 file system APIs for fast streaming access. There is a new unmanaged FILESTREAM API available in the SQL Native Access Client and a new SqlFileStream managed class introduced in .NET Framework 3.5 SP1.
FILESTREAM integrates directly into the Database Engine. This allows applications that store unstructured data to benefit from the rich streaming APIs and performance of the file system while ensuring transactional consistency with data stored in the database.
Most SQL Server management tools and functions work without modification for FILESTREAM allowing, for example, back up operations to include both database file data and file system data.