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

SQL Server 2019删除数据库用户后反复出现外部库文件夹移除错误求助

解决SQL Server 2019删除用户后外部库文件夹清理错误0x80070003

这个错误里的0x80070003对应系统级的"找不到指定路径"问题,本质是SQL Server删除用户后,尝试清理对应数据库外部库文件夹里的关联文件时,找不到目标路径/文件,或者服务账户没有访问权限。按以下步骤排查解决:

  • 先找到目标外部库文件夹的位置
    启用过R/Python外部脚本的数据库,外部库默认存在SQL Server数据目录下的ExternalLibraries文件夹里,每个数据库对应一个以数据库ID命名的子文件夹。执行下面的SQL查询获取你报错的数据库对应的路径:

    SELECT db.name, db.database_id, 
           'ExternalLibraries路径: ' + CONVERT(VARCHAR(255), SERVERPROPERTY('InstanceDefaultDataPath')) + 'ExternalLibraries\' + CONVERT(VARCHAR(10), db.database_id)
    FROM sys.databases db
    WHERE db.name = '你的数据库名'; -- 替换成报错里的数据库名称
    
  • 手动清理残留文件

    1. 先停止SQL Server服务(防止文件被进程占用删不掉)
    2. 打开查询到的外部库文件夹,找到和被删除用户相关的子文件夹/文件(一般是用户ID命名),直接删掉这些残留项
    3. 重启SQL Server服务
  • 检查SQL Server服务账户的权限
    要是路径存在但还是报错,大概率是服务账户没权限访问这个文件夹:

    1. 右键ExternalLibraries文件夹 → 属性 → 安全选项卡
    2. 添加SQL Server的服务账户(通常是NT SERVICE\MSSQLSERVER,如果是自定义账户就加对应的账户名)
    3. 给这个账户分配完全控制权限,应用后确认
  • 修复残留的元数据
    如果文件已经删了,但错误日志还在报,可能是系统元数据没同步:

    -- 先禁用外部脚本功能
    sp_configure 'external scripts enabled', 0;
    RECONFIGURE;
    -- 再重新启用
    sp_configure 'external scripts enabled', 1;
    RECONFIGURE;
    

    执行完这两句后,重启SQL Server服务,让元数据重新同步

  • 验证结果
    重启服务后观察一段时间,查看SQL Server错误日志,确认这个报错是否不再出现

内容的提问来源于stack exchange,提问作者Sai Prabhu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 21:30:04