SQL Server Denali 的 FileTable:把数据表转换为文件夹

  • Jenni Konrad
  • 侯伯薇

2011 年 7 月 30 日

话题:.NETDevOps语言 & 开发

SQL Server 2011(开发代码 Denali)包含了一种新的表叫做FileTable,它是基于 FileStream 功能构建的。FileTable 的目的是要在 SQL Server 中存储和管理非结构化数据,并让我们可以通过文件系统访问这些数据。

想要使用 FileTable,管理员必须启用对数据库的非事务型访问。(微软声称这对于既有的 FileStream 操作没有任何影响。) 一旦启用了这项功能,我们就可以很容易地创建 FileTable 了。那只需要一个名称,以及这个文件库所要使用的目录位置。

CREATE TABLE DocumentStore AS FileTable
    WITH ( 
          FileTable_Directory = 'DocumentTable',
          FileTable_Collate_Filename = database_default
         );
GO

然后,用户就可以通过 Windows 资源管理器来访问 FileTable 文件夹,并通过拖拽文件的方式来把它们添加到数据库中。FileTable 会存储文件的名称和类型、路径、语言、创建和修改的时间以及其他状态信息。它还会从根目录开始维护整个文件夹的结构。尽管 FileTable 文件夹和所有其它 Windows 的目录行为一样,但是物理文件实际上是存储在 SQL Server 中,而不是文件系统中。

我们可以直接使用 Transact-SQL 批量载入文件,也可以对文件进行更新和管理;另外它还支持审计和备份等 SQL 管理工具。

查看英文原文:SQL Server Denali’s FileTable:Turn SQL Tables into Folders
.NETDevOps语言 & 开发