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

如何解决C#客户端连接SQL Server时‘sa登录失败’问题

排查SQL Server "Login failed for user 'sa'" 连接错误的步骤
  • 检查SQL Server身份验证模式
    打开SQL Server Management Studio(SSMS),连接到目标数据库实例后,右键实例名称→属性→安全性,确认已勾选SQL Server和Windows身份验证模式。如果是仅Windows身份验证模式,sa账号无法登录,修改后需重启SQL Server服务生效。

  • 确认sa账号状态
    在SSMS的【安全性】→【登录名】中找到sa账号,右键→属性→状态,检查【登录】选项是否为启用状态,若禁用则改为启用。

  • 配置SQL Server远程连接权限

    1. 在SSMS中右键实例名称→属性→连接,勾选允许远程连接到此服务器
    2. 打开SQL Server配置管理器,找到SQL Server网络配置→对应实例的协议,确保TCP/IP处于启用状态
    3. 双击TCP/IP协议→切换到IP地址标签,拉至底部IPAll区域,确认TCP端口为1433(需与连接字符串中的端口一致)
  • 验证客户端与服务器的网络连通性
    在客户端PC打开命令提示符,执行telnet 10.0.255.255 1433(若未安装telnet,先运行pkgmgr /iu:"TelnetClient"安装)。如果连接失败,说明存在网络问题:

    • 检查服务器防火墙是否开放1433端口
    • 确认客户端与服务器处于同一网络,或路由/网关设置正确,能正常访问服务器IP
  • 简化连接字符串测试
    先移除Network Library=DBMSSOCN参数,现代SQL Server连接通常无需该配置,简化后的连接字符串示例:

    public static string connString = @"Data Source=10.0.255.255,1433;Initial Catalog=InventoryProjects;User Id=sa;Password=password";
    

    若密码包含特殊字符,需用引号包裹,比如Password="p@ssw0rd"

  • 用SSMS直接测试登录
    在客户端PC打开SSMS,尝试用sa账号、密码以及10.0.255.255,1433的服务器地址登录。如果SSMS也登录失败,说明问题不在C#代码,而是数据库或网络配置;如果SSMS能登录,再检查C#代码中连接字符串的拼写(比如密码大小写、数据库名称是否正确)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 22:45:35