当前位置: 首页 > news >正文

SQL Server安装后 SSMS 无法连接:身份验证模式错误

问题现象
使用 SQL Server Management Studio (SSMS) 连接时提示 “Login failed for user 'sa'”,错误代码 18456,无法通过 SQL Server 身份验证登录。


快速诊断
  1. 检查身份验证模式

    • 默认安装可能仅启用 Windows 身份验证

    • 通过命令行验证:

      Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQLServer\" -Name LoginMode
      • 返回值

        • 1:仅 Windows 身份验证

        • 2:混合模式(Windows + SQL Server 身份验证)

  2. 确认 sa 账户状态

    SELECT name, is_disabled FROM sys.sql_logins WHERE name = 'sa';
    • is_disabled = 0 表示账户已启用。


解决方案
步骤 1:启用混合身份验证模式
  1. 使用 SQL Server 配置管理器

    • 打开 SQL Server 配置管理器 > SQL Server 服务,右键实例选择 重新启动

    • 右键实例选择 属性 > 安全性,设置 服务器身份验证 为 SQL Server 和 Windows 身份验证模式

  2. 通过 T-SQL 修改(需 Windows 身份验证登录)

    EXEC sys.sp_configure 'show advanced options', 1;
    RECONFIGURE;
    EXEC sys.sp_configure 'user instance timeout', 0;  -- 防止超时
    EXEC sys.sp_configure 'user instances enabled', 0;
    EXEC sys.sp_configure 'xp_cmdshell', 1;          -- 可选:启用必要功能
    RECONFIGURE;

步骤 2:启用并重置 sa 账户
  1. 启用 sa 账户

    ALTER LOGIN sa ENABLE;
  2. 设置强密码

    ALTER LOGIN sa WITH PASSWORD = 'YourStrong!P@ssw0rd';
  3. 解除账户锁定(若存在):

    ALTER LOGIN sa WITH CHECK_POLICY = OFF, CHECK_EXPIRATION = OFF;
    ALTER LOGIN sa WITH CHECK_POLICY = ON, CHECK_EXPIRATION = ON;
步骤 3:重启 SQL Server 服务
Restart-Service -Name "MSSQLSERVER" -Force

验证与日志分析
  1. 测试 sa 连接

    • 在 SSMS 中使用以下参数连接:

      • 服务器类型:数据库引擎

      • 身份验证:SQL Server 身份验证

      • 登录名:sa

      • 密码YourStrong!P@ssw0rd

  2. 检查错误日志

    • 日志路径:

      复制

      C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Log\ERRORLOG
    • 搜索 Login succeeded for user 'sa' 确认登录成功。


扩展场景:网络协议与防火墙配置
  • 若连接超时

    1. 启用 TCP/IP 协议

      • 在 SQL Server 配置管理器 > SQL Server 网络配置 中启用 TCP/IP。

    2. 配置防火墙规则

      New-NetFirewallRule -DisplayName "SQL Server 51433" -Direction Inbound -Protocol TCP -LocalPort 51433 -Action Allow
  • 若仍提示 18456 错误

    1. 查看详细错误状态

      SELECT * FROM sys.dm_exec_connections WHERE client_net_address = '<客户端IP>';
    2. 重置 SA 密码策略

      ALTER LOGIN sa WITH PASSWORD = 'NewP@ss!2023' UNLOCK, CHECK_POLICY = ON;

安全建议
  • 禁用默认 SA 账户(生产环境):

    ALTER LOGIN sa DISABLE;
    • 创建独立管理账户替代:

      CREATE LOGIN AdminUser WITH PASSWORD = 'Secure!AdminPwd123';
      ALTER SERVER ROLE sysadmin ADD MEMBER AdminUser;

 

关于作者:

15年互联网开发、带过10-20人的团队,多次帮助公司从0到1完成项目开发,在TX等大厂都工作过。当下为退役状态,写此篇文章属个人爱好。本人开发期间收集了很多开发课程等资料,需要可联系我

相关文章:

  • 可编辑36页PPT | “新基建”在数字化智慧高速公路中的支撑应用方案智慧高速解决方案智慧交通方案
  • 《C奥林匹斯宝典:基础篇 - 重载函数》
  • 机器人传感器系统---时间戳对齐
  • vue使用markdown-it-katex部分公式展示不正确 katex版本低
  • 深度学习--softmax回归
  • 基于TradingView和CTPBee的自动化期货交易系统实现
  • Saas产品性能优化实战
  • bluecode-字符替换与最长子串问题
  • 【开题报告+论文+源码】基于SpringBoot+Vue的乡村公共资源管理系统
  • VS Code查看html格式文件插件:Live Server、HTML Preview
  • 多个SVN版本库,共用同一个和密码配置文件
  • Nacos 配置信息的发布流程是怎样的?服务端是如何校验和处理这些信息的?
  • 什么是SAQ评级?SAQ评级的好处?SAQ评级的意义
  • 第七章:OSPF
  • Stable Diffusion|Ai赋能电商 Inpaint Anything
  • ideal自动生成类图的方法
  • 锁策略--
  • 【Unity网络编程知识】FTP学习
  • JavaScript基础-常见网页特效案例
  • 【Linux】进程通信
  • 关税互降后的外贸企业:之前暂停的订单加紧发货,后续订单考验沟通谈判能力
  • 江苏省委组织部副部长高颜已任南京市委常委、组织部部长
  • 混乱的5天:俄乌和谈如何从充满希望走向“卡壳”
  • 国税总局上海市税务局通报:收到王某对刘某某及相关企业涉税问题举报,正依法依规办理
  • 俄外交部:俄乌伊斯坦布尔谈判改在当地时间15日下午举行
  • 商务部:中方敦促美方尽快停止232关税措施