首页 > 解决方案 > Windows 用户拒绝 SQL Server 批量 openrowset 访问,但拒绝 sa

问题描述

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

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

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

消息 4861,级别 16,状态 1,第 1 行
无法批量加载,因为无法打开文件“\server1\files\test.pdf”。操作系统错误代码 5(拒绝访问。)。

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

标签: sql-serverbulkopenrowset

解决方案


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


推荐阅读