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

无法连接用户数据库求助:登录失败报错及连接字符串示例

解决SQL Server Windows身份验证登录失败及数据库连接问题

核心报错信息

无法打开登录请求的数据库“MyBase”。登录失败。用户'domain\User'登录失败。

你的连接字符串采用Windows身份验证模式(Trusted_Connection=True),但当前域用户domain\User既无法完成SQL Server登录验证,也没有目标数据库的访问权限,且该问题覆盖所有用户数据库。

你的连接字符串代码:

string connectionString ="Server=localhost;Database=StudentRate;Trusted_Connection=True;Encrypt=False;";

排查与解决步骤

1. 确认SQL Server服务状态

  • 按下Win+R输入services.msc打开服务列表,找到SQL Server (MSSQLSERVER)(或你的自定义实例名),确保服务处于正在运行状态。
  • 若未启动,右键点击选择“启动”,并将启动类型设为“自动”,避免重启后服务中断。

2. 检查登录账户的SQL Server权限

结合你提供的登录及用户属性信息,重点验证:

  • 登录账户domain\User是否已在SQL Server中创建对应登录名:
    打开SQL Server Management Studio(SSMS)连接本地实例,展开安全性 > 登录名,确认domain\User存在。
  • 服务器级别权限:
    右键该登录名→属性→服务器角色,至少保留public权限(默认配置),测试阶段可临时勾选sysadmin排查权限问题(生产环境谨慎操作)。
  • 数据库映射权限:
    进入用户映射标签,勾选需要连接的数据库(如StudentRate或MyBase),为该数据库用户分配必要角色(如db_datareader、db_datawriter或db_owner)。

3. 修正连接字符串的数据库名称

报错中提到的目标数据库是MyBase,但你的连接字符串指定的是StudentRate,需:

  • 确认实际要连接的数据库名称,修正拼写错误。
  • 若需连接MyBase,将连接字符串中的Database=StudentRate改为Database=MyBase。

4. 检查SQL Server身份验证模式

  • 打开SSMS,右键服务器实例→属性→安全性,确认服务器身份验证模式为SQL Server和Windows身份验证模式(仅用Windows验证时需确保账户权限配置正确)。

5. 验证本地运行权限

  • 尝试用SSMS以domain\User身份连接本地实例,若失败则检查:
    • 当前机器是否已加入域,或domain\User是否属于本地管理员组。
    • 运行应用程序的进程是否以domain\User身份启动(右键应用→属性→兼容性,可勾选“以管理员身份运行”测试)。

内容的提问来源于stack exchange,提问作者Артем Липник

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:21:17