二进制大型对象 (Blob) 数据 (SQL Server)

适用范围:SQL Server

SQL Server 提供用于在数据库中或远程存储设备上存储文件和文档的解决方案。

比较用于在 SQL Server 中存储 Blob 的选项

比较 FILESTREAM、FileTable 和远程 Blob 存储区的优劣 请参阅比较用于存储 blob 的选项 (SQL Server)

用于存储 Blob 的选项

FILESTREAM (SQL Server)

借助 FILESTREAM,基于 SQL Server 的应用程序可以将非结构化的数据(如文档和图像)存储在文件系统中。 应用程序在利用丰富的流式 API 和文件系统的性能的同时,还可保持非结构化数据和对应的结构化数据之间的事务一致性。

FileTables (SQL Server)

FileTable 功能为 SQL Server 中存储的文件数据提供对 Windows 文件命名空间的支持以及与 Windows 应用程序的兼容性支持。 借助 FileTable,应用程序可以集成其存储和数据管理组件,可对非结构化数据和元数据提供集成的 SQL Server 服务(包括全文搜索和语义搜索)。

换言之,可以在 SQL Server 中将文件和文档存储在名为 FileTable 的特殊表中,但是从 Windows 应用程序访问它们,其访问方式与存储在文件系统中的内容相同,无需对客户端应用程序进行任何更改。

远程 Blob 存储区 (RBS) (SQL Server)

SQL Server 的远程 BLOB 存储 (RBS) 使数据库管理员能够在商用存储解决方案中存储二进制大型对象 (BLOB),而不是直接存储在服务器上。 这可以节省大量空间,避免浪费昂贵的服务器硬件资源。 RBS 提供一组可定义应用程序标准化模型的 API 库以访问 BLOB 数据。 RBS 还包含维护工具(如垃圾收集)以帮助管理远程 BLOB 数据。

RBS 随附在 SQL Server 安装媒体中,但 SQL Server 安装程序不会安装它。