SQL windows 用户拒绝了服务器批量 openrowset 访问,但 sa 没有

SQL Server bulk openrowset access is denied for windows user but not for sa

当我以 sa 用户身份登录时,我可以 运行 以下命令:

SELECT * 
FROM OPENROWSET(BULK '\server1\files\test.pdf', SINGLE_BLOB) x

但是,当我以具有 sysadmin、bulkadmin 和 serveradmin 角色的 windows 用户 身份登录时,出现以下错误:

Msg 4861, Level 16, State 1, Line 1
Cannot bulk load because the file "\server1\files\test.pdf" could not be opened. Operating system error code 5(Access is denied.).

我的 Windows 用户缺少哪些权限?

sa 将 运行 OPENROWSET(BULK 作为 SQL 服务器服务帐户,它将映射到 NT SERVICE\MSSQLSERVER 等内置用户的计算机帐户或 Network Service。 Windows 登录将 运行 OPENROWSET(BULK 作为他们自己。

我可以通过创建一个 SQL 作业来避免这个问题,该作业调用我的存储过程,其中出现批量插入脚本。当作业为 运行 时,使用 SQL 代理凭据并读取 blob。