You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向SQL Server插入Word文档遇操作系统错误5(拒绝访问),求排查

解决SQL Server OPENROWSET导入Word文档时的权限拒绝问题

针对你遇到的Operating system error code 5(Access is denied.)错误,核心原因是SQL Server服务进程的运行账户没有访问目标文件或文件夹的权限,而非你当前登录用户的权限。以下是具体排查和解决步骤:

  • 确认SQL Server服务的运行账户
    打开Windows服务管理器(services.msc),找到你的SQL Server实例服务(通常名为MSSQLSERVER或自定义实例名),查看其「登录身份」字段——这个账户才是需要文件访问权限的主体,不是你当前操作数据库的用户。

  • 给服务账户授予文件路径权限
    右键目标文件夹C:\Users\Lenovo\Desktop\ADFTemplates,选择「属性」→「安全」→「编辑」→「添加」,输入SQL Server服务账户名并确认,为该账户授予读取和执行、列出文件夹内容、读取权限,同时确保权限会继承到文件夹内的文件(勾选权限窗口的「包括可从该对象的父项继承的权限」)。

  • 避开用户个人目录的权限限制
    C:\Users\Lenovo这类个人用户目录本身带有严格的系统权限控制,即使给服务账户授权,也可能因UAC(User Account Control)或系统安全策略限制导致访问失败。建议将Word文档移到公共目录(比如C:\Temp),再给服务账户授予该目录的权限后重试。

  • 检查文件是否被占用
    如果该Word文档正被Microsoft Word或其他程序打开,会导致SQL Server无法读取文件,关闭所有占用该文件的程序后再执行脚本。

  • 验证路径的有效性(针对远程SQL Server)
    若你的SQL Server实例运行在远程服务器上,C:\Users\Lenovo\Desktop\ADFTemplates这个本地路径对服务器是不可见的。此时需要将文件上传到服务器的本地路径,或者设置网络共享文件夹并给SQL Server服务账户授予共享文件夹的访问权限,再使用共享路径(比如\\YourServer\SharedFolder\SomeDocument.docx)。

另外,也可以尝试用以下方式验证权限:以SQL Server服务账户的身份登录系统,尝试手动打开目标文件,如果无法打开,则说明权限配置仍有问题。


内容的提问来源于stack exchange,提问作者krešimir šumiga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 00:22:23