右击属性,切换到FILESTREAM标签,勾选如下配置
2. 打开SQL Server,并配置如下
以上也可以通过如下脚本执行:
Exec sp_configure filesteam_access_level, 2RECONFIGURE最后重启SQL Server Service
二、实例展示
创建FileStream类型文件/组
--Create filestreamgroup ALTER DATABASE [Archive]ADD FILEGROUP [FileStreamGroup] CONTAINS FILESTREAM GO--Create filestream and association with filestreamgroup aboveALTER DATABASE [Archive]ADD FILE ( NAME = N"FileStream", FILENAME = N"D:CompanyDataSQL ServerFileStream") TO FILEGROUP [FileStreamGroup]GO创建测试表(注意:如果表包含FILESTREAM列,则每一行都必须具有唯一的行ID)
--Create tableCREATE TABLE Archive.dbo.Attachment ([ID] [UNIQUEIDENTIFIER] ROWGUIDCOL NOT NULL PRIMARY KEY,[FileName] NVARCHAR(100) NULL,[CreateUser] NVARCHAR(100) NULL,[CreateDatetime] DATETIME NULL,[Content] VARBINARY(MAX) FILESTREAM NULL )FILESTREAM_ON [FileStreamGroup]插入一些测试数据
--Insert some recordsINSERT INTO Attachment VALUES (NEWID(),"File Name 1","shg.cpan", GETDATE(),NULL),(NEWID(),"File Name 1","shg.cpan", GETDATE(),CAST("" AS VARBINARY(MAX))),(NEWID(),"File Name 1","shg.cpan", GETDATE(),CAST("This is a attachment, which contains all introduction for filestream" AS VARBINARY(MAX)))从前台插入一些数据
using (SqlConnection conn = new SqlConnection("server=10.7.15.172;database=Archive;uid=sa;pwd=1234;Connect Timeout=180")){conn.Open();using (SqlCommand cmd = conn.CreateCommand()){string id = Guid.NewGuid().ToString();cmd.CommandText = "INSERT INTO Attachment VALUES("" + id + "","File Name 2","shg.cpan","" + DateTime.Now + "",@content)";SqlParameter param = new SqlParameter("@content", SqlDbType.VarBinary, 1000000000);param.Value = File.ReadAllBytes(@"D:Folder131 u_ex151207.log");cmd.Parameters.Add(param);cmd.ExecuteNonQuery();}conn.Close();}检索数据
SELECT DATALENGTH(CONTENT)/(1024.0 * 1024.0) AS MB,* FROM ATTACHMENT结果
文件系统
上面的文件都是上传的真实文件,只不过没有后缀,如果重命名加上后缀,即可读取,如最后一个是excel文件,加上.xls,即可用Excel软件打开此文件
三、注意事项
请注意以下事项:
•并不是所有的文件存储都适合使用FileStream,如果所存储的文件对象平均大于1MB考虑使用FileStream,否则对于较小的文件对象,以varbinary(max)BLOB存储在数据库中通常会提供更为优异的流性能;
•FileStream可以使用在故障集群上(Failover Cluster),但此时FileStream文件组必须位于共享磁盘资源上;
•FILESTREAM 与其他 SQL Server 功能的兼容性:https://msdn.microsoft.com/zh-cn/library/bb895334(v=sql.105).aspx