在 Azure SQL 数据库中启用和配置 FILESTREAM

Enable and Configure FILESTREAM in Azure SQL DB

如何在 AZURE SQL 数据库中存储 PDF 文件。

以上要求我在 Azure SQL 数据库上启用和配置 FILESTREAM。

目前我在 运行 创建 Table 查询时遇到此错误:

*Msg 40517, Level 16, State 1, Line 28
Keyword or statement option 'file stream_on' is not supported in this version of SQL Server.*
CREATE TABLE [MyDocs](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [DocId] [int] not null,
    [DocFileDat] [varbinary](max) FILESTREAM NULL,
    [DocFileType] [varchar](5) NULL,

    PRIMARY KEY CLUSTERED ([Id] ASC)
    WITH (
        PAD_INDEX = OFF,
        STATISTICS_NORECOMPUTE = OFF,
        IGNORE_DUP_KEY = OFF,
        ALLOW_ROW_LOCKS = ON,
        ALLOW_PAGE_LOCKS = ON
    ) ON [PRIMRAY]

) ON [PRIMARY] FILESTREAM_ON [FilestreamGroup1]

Azure SQL 数据库不支持 FILESTREAM,我们无法确认它会在不久的将来添加。所以,我建议使用一些替代方法,例如:

  • 将全部内容存储到数据库内 VARBINARY(MAX) 列中。这可能会增加您的数据库大小。
  • 将文件内容存储在 Azure Blob 存储中,并将 paths/urls 保留在 table 中。您可以通过 url/path 直接访问 blob 存储上的文件,但是您需要确保在删除数据库中的关联行时删除该文件。