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

.NET Framework Windows服务安装后无法调用数据库存储过程

.NET Framework Windows服务数据库权限问题解决

核心原因

手动运行服务时,程序使用当前登录用户身份访问数据库,该用户具备执行dbo.usp_postScheduled存储过程的权限;但通过installutil安装服务后,服务默认以Local System账户运行,此账户未被授予目标存储过程的执行权限,因此触发权限拒绝错误。

解决方案

方案一:修改服务运行账户

  • 按下Win + R输入services.msc打开服务控制台
  • 找到ReportWindowsService服务,右键选择「属性」
  • 切换到「登录」选项卡,选择「此账户」,输入拥有randomDB_mi数据库中usp_postScheduled执行权限的Windows账户及密码
  • 点击「确定」后重启服务

方案二:为服务账户添加数据库权限

  • 打开SQL Server Management Studio,连接到目标数据库实例
  • 展开「数据库」→randomDB_mi→「安全性」→「用户」
  • 找到服务运行对应的账户(无则新建用户并映射到对应登录名)
  • 右键用户选择「属性」→「安全对象」
  • 点击「搜索」→「特定对象」→「对象类型」,勾选「存储过程」后点击「浏览」,选中dbo.usp_postScheduled
  • 为该用户授予「EXECUTE」权限,保存设置后重启服务

验证

完成操作后重启服务,检查日志确认权限错误是否消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 14:35:11