SQL Server 2012 FileTable 新特性详解

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 新特性详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • SQL Server的FileStream和FileTable深入剖析

    互联网时代数据是爆炸式增长,我们常常需要把结构化数据和非结构化数据(如文档,演示文稿,视频,音频,图像)存储在一起.通常有几种方案: 1.在数据库中存储结构化数据,在文件系统中存储非结构化数据,然后数据库里有一个字段记录文件系统的路径,虽然这种方法成本合算,但它引入了额外的复杂度,因为你需要手动去保证跨关系和非关系系统管理事务的完整性. 2.将结构化数据和非结构化数据都存储在数据库中,多年以来,数据库一直都支持存储非关系数据,如二进制大对象,或BLOB,SQL Server称之为varbinar

  • PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解

    [PHP Source Code]: 复制代码 代码如下: $dbh = new PDO('sqlsrv:server=连接地址;Database=数据库名', 用户名, 密码);try { $procName = "P_Test_GetMixData"; $stmt = $dbh->prepare("EXEC $procName ?, ?, ?"); $nReturnValue = 0; $strReturnValue = ""; $st

  • SQL Server 2012 安装图解教程(附sql2012下载地址)

    在安装微软最新数据库SQL Server 2012之前,编者先确定一下安装环境:Windonws 7 SP1,32位操作系统.CPU是2.1GHz赛扬双核T3500,内存2.93GB. sql2012下载 http://www.jb51.net/softs/79861.html 安装SQL Server 2012的软硬件环境参数 根据微软的下载提示,32位的Windows 7操作系统,只需下载列表最下面的CHSx86SQLFULL_x86_CHS_Core.box. CHSx86SQLFULL_

  • SQL Server 2012无法连接到WMI提供程序(Cannot connect to WMI provider)解决方案

    今天一位同事在启动自己工作机的SQL Server 2012配置管理器时遇到如下报错: 无法连接到 WMI 提供程序.您没有权限或者该服务器无法访问.请注意,您只能使用 SQL Server 配置管理器来管理 SQL Server 2005 服务器. 找不到指定的模块. [0x80041010] Cannot connect to WMI provider. You do not have permission or the server is unreachable. Note that yo

  • Microsoft SQL Server 2012 数据库安装图解教程

    我们下载地址:http://www.jb51.net/softs/79861.html 官网下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=29066 1. 根据微软的下载提示,64位的Windows7操作系统,只需下载列表的CHSx64SQLFULL_x64_CHS_Core.box.CHSx64SQLFULL_x64_CHS_Intall.exe和CHSx64SQLFULL_x64_CHS_Lang.box三个安装包即

  • SqlServer2012中First_Value函数简单分析

    First_Value返回结果集中某列第一条数据的值,跟TOP 1效果一样,比较简单的一个函数 先贴测试用代码 DECLARE @TestData TABLE( ID INT IDENTITY(1,1), Department VARCHAR(20), LastName VARCHAR(20), Rate FLOAT ) INSERT INTO @TestData(Department,LastName,Rate) SELECT 'Document Control','Arifin',17.78

  • SQL Server 2012 FileTable 新特性详解

    FileTable是基于FILESTREAM的一个特性.有以下一些功能: •一行表示一个文件或者目录. •每行包含以下信息: • •file_Stream流数据,stream_id标示符(GUID). •用户表示和维护文件及目录层次关系的path_locator和parent_path_locator •有10个文件属性 •支持对文件和文档的全文搜索和语义搜索的类型列. •filetable强制执行某些系统定义的约束和触发器来维护命名空间的语义 •针对非事务访问时,SQL Server配置FIL

  • SQL Server实现全文搜索查询详解

    目录 一.概述 二.全文搜索查询 三.将全文搜索查询与 LIKE 谓词进行比较 四.全文搜索体系结构 4.1.SQL Server 进程 4.2.过滤器守护程序主机进程 五.全文搜索处理 5.1.全文索引过程 5.2.全文查询流程 六.全文索引体系结构 6.1.全文索引结构 6.2.全文索引片段 6.3.全文索引和常规 SQL Server 索引之间的差异 总结 一.概述 全文索引在表中包括一个或多个基于字符的列.这些列可以具有以下任何数据类型:char.varchar.nchar.nvarch

  • SQL Server的行级安全性详解

    目录 一.前言 二.描述 三.权限 四.安全说明:侧信道攻击 五.跨功能兼容性 六.示例 一.前言 行级别安全性使您能够使用组成员身份或执行上下文来控制对数据库表中行的访问. 行级别安全性 (RLS) 简化了应用程序中的安全性设计和编码.RLS 可帮助您对数据行访问实施限制.例如,您可以确保工作人员仅访问与其部门相关的数据行.另一个示例是将客户的数据访问限制为仅与其公司相关的数据. 访问限制逻辑位于数据库层中,而不是远离另一个应用程序层中的数据.每次尝试从任何层访问数据时,数据库系统都会应用访问

  • Android5.0新特性详解之全新的动画

    在Material Design设计中,为用户与app交互反馈他们的动作行为和提供了视觉上的连贯性.Material主题为控件和Activity的过渡提供了一些默认的动画,在android L上,允许自定义这些动画: Touch feedback 触摸反馈 Circular Reveal 圆形展示 Curved motion 曲线运动 View state changes 视图状态变化 Vector Drawables 矢量图动画 Activity transitions 活动转场 触摸反馈 触

  • JavaScript_ECMA5数组新特性详解

    var arr = [ 1, 2, 3, 4, 5, 4, 3, 2, 1 ]; 新加位置的方法: indexOf lastIndexOf 1.1个参数的时候表示传值 返回索引位置(index从0开始) var index = arr.indexOf(4); alert(index); //3 2. 2个参数的时候 第一个参数表示起始位置 第二个参数还是值 var index = arr.indexOf(4,4); alert(index); //5 3.他们查找数组比较的时候 '===' la

  • sql server 交集,差集的用法详解

    概述 为什么使用集合运算: 在集合运算中比联接查询和EXISTS/NOT EXISTS更方便. 并集运算(UNION) 并集:两个集合的并集是一个包含集合A和B中所有元素的集合. 在T-SQL中.UNION集合运算可以将两个输入查询的结果组合成一个结果集.需要注意的是:如果一个行在任何一个输入集合中出现,它也会在UNION运算的结果中出现.T-SQL支持以下两种选项: (1)UNION ALL:不会删除重复行 -- union allselect country, region, city fr

  • Python3.9新特性详解

    本文主要介绍Python3.9的一些新特性,如:更快速的进程释放,性能的提升,简便的新字符串函数,字典并集运算符以及更兼容稳定的内部API,详细如下: 字典并集和可迭代更新 字符串方法 类型提示 新的数学函数 新的解析器 IPv6范围内的地址 新模块:区域信息 其他语言更改 1.字典并集和可迭代更新 Python 3.9 dict类.如果有两个字典a和b,则现在可以使用这些运算符进行合并和更新. 我们有合并运算符|: 使用Iterables进行字典更新 | =运算符的另一个很棒的性能是能够使用可

  • C#9.0新特性详解——顶级程序语句(Top-Level Programs)

    1 背景与动机 通常,如果只想用C#在控制台上打印一行"Hello World!",这可不是Console.WriteLine("Hello World!");一条语句就可以搞定的,还涉及到其他必要基础代码(如定义类和入口函数Main),例如下面: using System; class Program { static void Main() { Console.WriteLine("Hello World!"); } } 就打印一句"

  • python3.9之你应该知道的新特性详解

    一.数字类型 python除了支持原有的int和float类型,新增了支持Decimal或者Fraction.python还内置支持复数,后缀j或者J用于标识虚数. 二.字符串 如果字符串中有单引号而没有双引号,该字符串外将加注双引号,反之,则加注单引号.print() 函数输出的内容更简洁易读,它会省略两边的引号,并输出转义后的特殊字符. >> '"Isn\'t," they said.' '"Isn\'t," they said.' >>

  • Java8常用的新特性详解

    一.Java 8 新特性的简介 速度更快 代码更少(增加了新的语法:Lambda表达式)强大的Stream API 便于并行 最大化减少空指针异常:Optional Nashorn引擎,允许在JVM上运行JS应用 二.Lambda表达式 Lambda表达式:特殊的匿名内部类,语法更简洁. Lanbda表达式允许把函数作为一个方法的参数(函数作为方法参数传递),将代码像数据一样传递. 基本语法: <函数式接口> <变量名> = (参数1,参数2...) ->{ //方法体 }

随机推荐