欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL Server 2012 FileTable 新特性详解

程序员文章站 2022-03-25 09:49:19
filetable是基于filestream的一个特性。有以下一些功能: •一行表示一个文件或者目录。 •每行包含以下信息:...

filetable是基于filestream的一个特性。有以下一些功能:

•一行表示一个文件或者目录。

•每行包含以下信息:

• •file_stream流数据,stream_id标示符(guid)。

•用户表示和维护文件及目录层次关系的path_locator和parent_path_locator

•有10个文件属性

•支持对文件和文档的全文搜索和语义搜索的类型列。

•filetable强制执行某些系统定义的约束和触发器来维护命名空间的语义

•针对非事务访问时,sql server配置filestream共享区下公开在filetable中表示的文件和目录结构

将防火墙配置为进行 filestream 访问。

--1.配置实例级别的filestream,取值如下
--0:为此实例禁用 filestream 支持。
--1:针对 transact-sql 访问启用 filestream。
--2:针对 transact-sql 和 win32 流访问启用 filestream。
exec sp_configure 'filestream_access_level', 2
go
reconfigure
--启动
alter database test set filestream (non_transacted_access = full, directory_name ='test' )
--添加filestream文件组
alter database test add filegroup filestreamgroup contains filestream
go
alter database test add file (name = 'fg1', filename ='d:\filestream\fg1' ) to filegroup filestreamgroup
go
--需要非事务访问,directory_name
select db_name (database_id ), non_transacted_access , non_transacted_access_desc, directory_name
from sys. database_filestream_options ;
go
create table documentstore as filetable
with (
filetable_directory = 'documenttable' ,
filetable_collate_filename = database_default
);
go
--插入目录
insert into dbo. documentstore (name , is_directory ) 
select 'mydir01' , 1 ; 
--在新增目录上,插入文件
select @path = path_locator 
from dbo. documentstore 
where name = 'mydir01' 
select @new_path = @path. tostring() + 
convert (varchar (20 ), convert (bigint , substring (convert ( binary( 16), newid ()), 1 , 6))) + '.' + 
convert (varchar (20 ), convert (bigint , substring (convert ( binary( 16), newid ()), 7 , 6))) + '.' + 
convert (varchar (20 ), convert (bigint , substring (convert ( binary( 16), newid ()), 13 , 4))) + '/' 
insert into dbo. documentstore (name , file_stream , path_locator ) 
select n'空文件.txt' , 0x , @new_path 
select getpathlocator ( '\\fanr-pc\sql2016\test\documenttable\1.txt' ), * from documentstore 

以上所述是小编给大家介绍的sql server 2012 filetable 新特性详解,希望对大家有所帮助