在SQL Server中启用FileStream

在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;

 

具体的使用可参考联机帮助或在线帮助。

 

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐