在sql server中启用filestream
最近在研究在中存储大数据文件,看到了filestream 这个功能,记录下来以备后用
filestream 一般在安装的时候默认是不启用的,如果你留意的话,在选择数据库文件路径那个窗口,有一个标签是“filestream”.
如果在安装的时候你没有启用,安装后可以通过以下设置来开启filestream 功能。
1. 打开 sql server 配置管理器, 在sql server 服务下找到你要启用的sql server服务(默认实例一般是 mssqlserver),右击该服务,选择属性,在属性窗口你可以看到filestream 标签,选中” 针对 transact-sql 访问启用 filestream”
2.执行以下命令在ssms
exec sp_configure filestream_access_level, 2 reconfigure
3.创建支持filestream 的数据库,
[sql] create database test on ( name = test_dat, filename = 'c:\program files\microsoft sql server\mssql11.mssqlserver\mssql\data\testdat.mdf' ), filegroup testgroup1 contains filestream ( name = testgroup_dat , filename = 'c:\program files\microsoft sql server\mssql11.mssqlserver\mssql\data\testgroup1.ndf') log on ( name = sales_log, filename = 'c:\program files\microsoft sql server\mssql11.mssqlserver\mssql\data\testlog.ldf' ) ; 当然你也可以用以下脚本,在已存在的数据库添加一个文件组用于支持filestream. [sql] alter database test add filegroup filestreamrecord contains filestream go --add a file for storing database photos to filegroup alter database test add file ( name= 'filestreamrecord', filename = 'd:\program files\microsoft sql server\mssql11.mssqlserver\mssql\data\testfilestreamrecord.ndf' ) to filegroup filestreamrecord go 4. 创建可以存储filestream 的数据表 create table filestreamrecording [sql] ( id int, rowguidcolumn uniqueidentifier not null unique rowguidcol, filestreamcolumn varbinary(max) filestream ); [sql] [sql] 5.使用 [sql] insert into filestreamrecording values(1, newid(), 0x00); insert into filestreamrecording values(2, newid(), 0x00); insert into filestreamrecording values(3, newid(), 0x00); go select filestreamcolumn.pathname() as 'pathname' from filestreamrecording;
具体的使用可参考联机帮助或在线帮助。