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

  • 一行表示一个文件或者目录。
  • 每行包含以下信息:
    • file_Stream流数据,stream_id标示符(GUID)。
    • 用户表示和维护文件及目录层次关系的path_locator和parent_path_locator
    • 有10个文件属性
    • 支持对文件和文档的全文搜索和语义搜索的类型列。
  • filetable强制执行某些系统定义的约束和触发器来维护命名空间的语义
  • 针对非事务访问时,SQL Server配置FILESTREAM共享区下公开在FileTable中表示的文件和目录结构
--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的更多相关文章

  1. SQL Server 2012新特性(1)T-SQL操作FileTable目录实例

    在SQL Server 2008提供FileStream,以借助Windows系统本身的API来强化SQL Server对于非结构化数据的支持后,SQL Server 2012更是推出了像Contai ...

  2. SQL Server 2012 新特性

    --Concat示例 ,null,'RTM') --Format实例 DECLARE @d DATETIME = GETDATE(); SELECT FORMAT( @d, 'd', 'en-US' ...

  3. Sql Server 2012新特性 Online添加非空栏位.

    我们都知道,Sql Server在一个数据量巨大的表中添加一个非空栏位是比较费心的,缺乏经验的DBA或是开发人员甚至可能鲁莽地直接添加导致阻塞相应业务,甚至可能因为资源欠缺造成实例的全局问题.当然这都 ...

  4. SQL Server 2012 新特性:新增和修改函数

    转换函数      1.PARSE      Parse是把字符串类型转化为想要的类型,看看和convert和cast的区别         SELECT PARSE ('2.111111' AS f ...

  5. SQL Server 2012 新特性:服务角色管理

    数据库角色管理,已经可以使用alter role,create role和drop role. 2012增加了几个ddl语句,可以操作服务级别的角色管理,   CREATE SERVER ROLE 用 ...

  6. SQL Server 2012 新特性:其他

    安装期间的设置   为了强化角色分离,不自动在 sysadmin 固定服务器角色中设置 BUILTIN\administrators 和 Local System (NT AUTHORITY\SYST ...

  7. SQL Server 2012 新特性:包含数据库访问数据库引擎

    简单的说就是可以让包含用户访问其他数据库,那么来看看如何配置,并且验证一下:   USE test CREATE USER up1 WITH PASSWORD = 'zhuzhu' SELECT *  ...

  8. 小心SQL SERVER 2014新特性——基数评估引起一些性能问题

    在前阵子写的一篇博文"SQL SERVER 2014 下IF EXITS 居然引起执行计划变更的案例分享"里介绍了数据库从SQL SERVER 2005升级到 SQL SERVER ...

  9. SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer

    SQL Server 2014新特性:五个关键点带你了解Excel下的Data Explorer Data Explorer是即将发布的SQL Server 2014里的一个新特性,借助这个特性讲使企 ...

随机推荐

  1. SQL Server 索引和表体系结构(非聚集索引)

    非聚集索引 概述 对于非聚集索引,涉及的信息要比聚集索引更多一些,由于整个篇幅比较大涉及接下来的要写的“包含列的索引”,“索引碎片”等一些知识点,可能要结合起来阅读理解起来要更容易一些.非聚集索引和聚 ...

  2. js基本类型和引用类型

    先来两个例题 //1. var person; person.age=10; console.log(person.age) //undefined person是字符串而不是对象,没有属性 //2. ...

  3. PHP扩展-如何使用文件config.m4

    config.m4文件用于指定正在开发的扩展在类unix系统下构建时支持的选项,指定此扩展需要哪些库以及哪些源文件:使用 GNU autoconf 语法编写.注意需要重新执行phpize,config ...

  4. 前端进阶试题(css部分)

    一.css 40分 1. 什么是盒模型? 答: 2. Doctype的几种类型? 答:①.过渡的:②.严格的:③.框架的 更多详细介绍参考:资料 3. 如何布局左不动右边自适应的两列布局? 答:两种简 ...

  5. 【Win 10 应用开发】UDP广播

    我们知道,对于UDP协议的通信,除了可以用来聊天外,可以发送广播数据.只要向广播地址的某个端口发送数据就可以进行广播,子网中只要监听该端口的socket就能收到广播消息. 最简单的方法就是向255.2 ...

  6. Hadoop的体系结构

    HDFS和MapReduce是Hadoop的两大核心.而整个Hadoop的体系结构主要是通过HDFS来实现对分布式存储的底层支持的,并且它会通过MapReduce来实现对分布式并行任务处理的程序支持. ...

  7. Happy New Year 2016

    大学之前的时间都是按天来过的,期盼着一天一天地快快长大,期盼着过年穿新衣,阖家团聚,其乐融融: 大学的时间都是按周来过的,根据每周的课表周而复始,虽然单调但也是自由自在,简单充实: 刚工作的几年时间是 ...

  8. Ubuntu 14.04 中 安装elasticsearch2.*+logstash2.*+kibana

    在Ubuntu 14.04 上安装单机版ELK 2.*(脚本化) 1.判断是否为root权限 if [ "${UID}" -ne 0 ]; then echo "You ...

  9. 【补充】Gitlab 部署 CI 持续集成

    上一篇:<劈荆斩棘:Gitlab 部署 CI 持续集成> 上一篇所配置的.gitlab-ci.yml: stages: - build - test before_script: - ec ...

  10. ZKWeb网站框架的动态编译的实现原理

    ZKWeb网站框架是一个自主开发的网页框架,实现了动态插件和自动编译功能. ZKWeb把一个文件夹当成是一个插件,无需使用csproj或xproj等形式的项目文件管理,并且支持修改插件代码后自动重新编 ...