

For example, you can use all backup and recovery models with FILESTREAM data, and the FILESTREAM data is backed up with the structured data in the database. FILESTREAM filegroups can be on compressed volumes.īecause FILESTREAM is implemented as a varbinary(max) column and integrated directly into the Database Engine, most SQL Server management tools and functions work without modification for FILESTREAM data.

When you are using failover clustering, the FILESTREAM filegroups must be on shared disk resources.FILESTREAM data containers cannot be nested.Multiple data containers can be added to a FILESTREAM filegroup.When a table contains a FILESTREAM column, each row must have a nonnull unique row ID.When you use FILESTREAM storage, consider the following: Data containers are the interface between Database Engine storage and file system storage.

These file system directories are called data containers. A FILESTREAM filegroup is a special filegroup that contains file system directories instead of the files themselves. This causes the Database Engine to store all data for that column on the file system, but not in the database file.įILESTREAM data must be stored in FILESTREAM filegroups. To specify that a column should store data on the file system, specify the FILESTREAM attribute on a varbinary(max) column. The standard varbinary(max) limitation of 2-GB file sizes does not apply to BLOBs that are stored in the file system. The sizes of the BLOBs are limited only by the volume size of the file system. FILESTREAM StorageįILESTREAM storage is implemented as a varbinary(max) column in which the data is stored as BLOBs in the file system. You are developing applications that use a middle tier for application logic.įor smaller objects, storing varbinary(max) BLOBs in the database often provides better streaming performance.

#WHERE YOU FILED DOCUMENTS DATABASE INSTALL#
The SQL Server buffer pool is not used therefore, this memory is available for query processing.įILESTREAM is not automatically enabled when you install or upgrade SQL Server. This helps reduce any effect that FILESTREAM data might have on Database Engine performance. Win32 file system interfaces provide streaming access to the data.įILESTREAM uses the NT system cache for caching file data. Transact-SQL statements can insert, update, query, search, and back up FILESTREAM data. Applications can leverage the rich streaming APIs and performance of the file system and at the same time maintain transactional consistency between the unstructured data and corresponding structured data.įILESTREAM integrates the SQL Server Database Engine with an NTFS or ReFS file systems by storing varbinary(max) binary large object (BLOB) data as files on the file system.
#WHERE YOU FILED DOCUMENTS DATABASE WINDOWS#
Applies to: SQL Server (all supported versions) - Windows onlyįILESTREAM enables SQL Server-based applications to store unstructured data, such as documents and images, on the file system.
