SQL Server 2012 FileTable 新特性详解
FileTable是基于FILESTREAM的一个特性。有以下一些功能:
•一行表示一个文件或者目录。
•每行包含以下信息:
••file_Stream流数据,stream_id标示符(GUID)。
•用户表示和维护文件及目录层次关系的path_locator和parent_path_locator
•有10个文件属性
•支持对文件和文档的全文搜索和语义搜索的类型列。
•filetable强制执行某些系统定义的约束和触发器来维护命名空间的语义
•针对非事务访问时,SQLServer配置FILESTREAM共享区下公开在FileTable中表示的文件和目录结构
将防火墙配置为进行FILESTREAM访问。
--1.配置实例级别的filestream,取值如下 --0:为此实例禁用FILESTREAM支持。 --1:针对Transact-SQL访问启用FILESTREAM。 --2:针对Transact-SQL和Win32流访问启用FILESTREAM。 EXECsp_configure'filestream_access_level',2 GO RECONFIGURE --启动 ALTERDATABASEtestSETFILESTREAM(NON_TRANSACTED_ACCESS=FULL,DIRECTORY_NAME='test') --添加filestream文件组 ALTERDATABASEtestADDFILEGROUPfilestreamgroupCONTAINSFILESTREAM GO ALTERDATABASEtestADDFILE(NAME='fg1',FILENAME='D:\FileStream\fg1')TOFILEGROUPfilestreamgroup GO --需要非事务访问,directory_name SELECTDB_NAME(database_id),non_transacted_access,non_transacted_access_desc,directory_name FROMsys.database_filestream_options; GO CREATETABLEDocumentStoreASFileTable WITH( FileTable_Directory='DocumentTable', FileTable_Collate_Filename=database_default ); GO --插入目录 INSERTINTOdbo.DocumentStore(name,is_directory) SELECT'MyDir01',1; --在新增目录上,插入文件 SELECT@path=path_locator FROMdbo.DocumentStore WHEREname='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)))+'/' INSERTINTOdbo.DocumentStore(name,file_stream,path_locator) SELECTN'空文件.txt',0x,@new_path SELECTgetpathlocator('\\fanr-pc\SQL2016\test\DocumentTable\1.txt'),*FROMDocumentStore
以上所述是小编给大家介绍的SQLServer2012FileTable新特性详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!