Blog链接:https://blog.51cto.com/u_13637423

应客户需求,需要在SQL Server上部署File Stream Provider,将blob 存储到其他存储介质中,但在配置过程中,创建file table时SQL Server抛出如下错误:

FILESTREAM DIRECTORY_NAME 'FileStreamDirectory' attempting to be set on database 'DemoDB' is not unique in this SQL Server instance. Provide a unique value for the database option FILESTREAM DIRECTORY_NAME to enable non-transacted access.

ALTER DATABASE statement failed. (Microsoft SQL Server, Error: 33415)

问题原因:如果将设置FileStream Non-Transacted Access的属性值保持为“Off”,则无法将FileStream Directory视为运行相关数据库的SQL server实例的服务器的共享文件夹。

解决方案:将FileStream Non-Transacted Access属性设置为Full,FileStream目录将作为共享文件夹进行Blob存储

 

Microsoft 解决方案:配置File Stream异常_FileStream

启用对 filestream 的数据文件的non-transacted access后,共享文件夹现在可用,FileTables也有自己的数据文件夹,可以将其他目录中的文件复制和粘贴到共享的FileTable文件夹中。

 

Microsoft 解决方案:配置File Stream异常_SQL_02

排错并解决相关问题后,就可以在SQL Server 2019实例上使用SQL FileStream和FileTable功能。

整理本文,分享给大家希望大家遇到问题时,能得到一定的帮助。