| title | Enable and configure FILESTREAM | Microsoft Docs | |
|---|---|---|
| ms.custom | ||
| ms.date | 08/23/2017 | |
| ms.prod | sql | |
| ms.reviewer | ||
| ms.technology | filestream | |
| ms.topic | conceptual | |
| helpviewer_keywords |
|
|
| ms.assetid | 78737e19-c65b-48d9-8fa9-aa6f1e1bce73 | |
| author | MikeRayMSFT | |
| ms.author | mikeray |
[!INCLUDEappliesto-ss-xxxx-xxxx-xxx-md] Before you can start to use FILESTREAM, you must enable FILESTREAM on the instance of the [!INCLUDEssDEnoversion]. This topic describes how to enable FILESTREAM by using SQL Server Configuration Manager.
-
On the Start menu, point to All Programs, point to [!INCLUDEssCurrent], point to Configuration Tools, and then click SQL Server Configuration Manager.
-
In the list of services, right-click SQL Server Services, and then click Open.
-
In the SQL Server Configuration Manager snap-in, locate the instance of [!INCLUDEssNoVersion] on which you want to enable FILESTREAM.
-
Right-click the instance, and then click Properties.
-
In the SQL Server Properties dialog box, click the FILESTREAM tab.
-
Select the Enable FILESTREAM for Transact-SQL access check box.
-
If you want to read and write FILESTREAM data from Windows, click Enable FILESTREAM for file I/O streaming access. Enter the name of the Windows share in the Windows Share Name box.
-
If remote clients must access the FILESTREAM data that is stored on this share, select Allow remote clients to have streaming access to FILESTREAM data.
-
Click Apply.
-
In [!INCLUDEssManStudioFull], click New Query to display the Query Editor.
-
In Query Editor, enter the following [!INCLUDEtsql] code:
EXEC sp_configure filestream_access_level, 2 RECONFIGURE -
Click Execute.
-
Restart the [!INCLUDEssNoVersion] service.
When you set up FILESTREAM storage volumes, consider the following guidelines:
-
Turn off short file names on FILESTREAM computer systems. Short file names take significantly longer to create. To disable short file names, use the Windows fsutil utility.
-
Regularly defragment FILESTREAM computer systems.
-
Use 64-KB NTFS clusters. Compressed volumes must be set to 4-KB NTFS clusters.
-
Disable indexing on FILESTREAM volumes and set disablelastaccess. To set disablelastaccess, use the Windows fsutil utility.
-
Disable antivirus scanning of FILESTREAM volumes when it is not necessary. If antivirus scanning is necessary, avoid setting policies that will automatically delete offending files.
-
Set up and tune the RAID level for fault tolerance and the performance that is required by an application.
| RAID level | Write performance | Read performance | Fault tolerance | Remarks |
| RAID 5 | Normal | Normal | Excellent | Performance is better than one disk or JBOD; and less than RAID 0 or RAID 5 with striping. |
| RAID 0 | Excellent | Excellent | None | |
| RAID 5 + striping | Excellent | Excellent | Excellent | Most expensive option. |
When you design a FILESTREAM database, consider the following guidelines:
-
FILESTREAM columns must be accompanied by a corresponding uniqueidentifierROWGUID column. These kinds of tables must also be accompanied by a unique index. Typically this index is not a clustered index. If the databases business logic requires a clustered index, you have to make sure that the values stored in the index are not random. Random values will cause the index to be reordered every time that a row is added or removed from the table.
-
For performance reasons, FILESTREAM filegroups and containers should reside on volumes other than the operating system, [!INCLUDEssNoVersion] database, [!INCLUDEssNoVersion] log, tempdb, or paging file.
-
Space management and policies are not directly supported by FILESTREAM. However, you can manage space and apply policies indirectly by assigning each FILESTREAM filegroup to a separate volume and using the volume's management features.