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存储
启用对 filestream 的数据文件的non-transacted access后,共享文件夹现在可用,FileTables也有自己的数据文件夹,可以将其他目录中的文件复制和粘贴到共享的FileTable文件夹中。
排错并解决相关问题后,就可以在SQL Server 2019实例上使用SQL FileStream和FileTable功能。
整理本文,分享给大家希望大家遇到问题时,能得到一定的帮助。