FILESTREAM Design and Implementation Considerations

Writer: Shaun Tinline-Jones

Technical Reviewer: Prem Mehra, Chuck Heinzelman, Nicholas Dritsas, Peter Carlin

Technical Editor: Tali Smith

Published: February 2011

Applies to: SQL Server 2008 R2

Summary: Much of the data used today is unstructured, including text documents, images, and videos. This unstructured data is typically stored outside a relational database and separate from structured data. This separation can make data management much more complex, and if the data is associated with structured storage, the separation can limit performance and file streaming capabilities.

Microsoft SQL Server 2008 includes an enhancement to data storage called FILESTREAM, which lets you store unstructured binary large object (BLOB) data directly in the file system. With FILESTREAM you can take advantage of the Win32 rich set of streaming application programming interfaces (APIs) for better streaming performance. FILESTREAM also provides transactional consistency so structured and unstructured data are always in synch; additionally, you can use Transact-SQL statements to insert, update, query, search, and back up FILESTREAM data.

This white paper is a companion to the information about FILESTREAM found on TechNet. This paper delves deeply into selected topics that should be considered when implementing a solution that uses FILESTREAM, including design considerations, maintenance, and management of a FILESTREAM environment.


To continue reading, please download the whitepaper Download the paper