是否可以将 sql 服务器 2012 中的文件组映射到 Azure Blob 存储?

Is it possible to map filegroups in sql server 2012 to Azure Blob Storage?

目前我们的 MS SQL 服务器 2012(本地)使用文件流来存储文件。文件流存储在单独的文件组中。但是随着文件数量的增加,我们担心它会影响数据库的整体性能。所以我们计划将这些文件移动到 Azure Blob Storage。 我在 MSDN 中找到了一篇关于将数据文件保存在 Azure 存储中的文章:https://msdn.microsoft.com/en-us/library/dn466438.aspx 但请相信这是针对 SQL Server 2014 的。

那么,2012 年是否有类似的方法?

或者我是否需要将文件从应用程序上传到 Azure 并将路径保留在数据库中?从应用程序上传文件是一个非常大的返工,维护 ACID 属性会带来疑问。

如您所知,FileStream 保证 SQL 服务器中的关系表与文件系统中存储在 SQL 服务器外部的 BLOB 之间的事务一致性。 SQL 仅存储对 BLOB 的引用以处理跨它们的 DML 操作。 这使他们的开销很小。维护操作(例如 Backup/Restore、索引重建等)仅适用于关系表(无 BLOB)。 因此,使用 FileStream 的部署可以扩展到数 TB 的 BLOB,而不会显着影响 SQL 服务器性能。要增加 I/O 吞吐量,请将跨不同磁盘条带化的多个文件添加到 FileStream 文件组。 https://technet.microsoft.com/en-us/library/dd206979(v=sql.105).aspx

中的其他推荐

SQL 服务器数据文件(在 SQL14 中引入)不支持 FileStream/FileTable(底层驱动程序无法识别 Azure BLOB 路径)。无论如何,我预计这样做会影响事务性能,因为与本地存储相比网络延迟较高。