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

Windows 10通过Windows身份验证连接SQL Server 2022 Express失败求助

问题分析与解决方案

核心原因

工作组环境无域控制器,Windows身份验证依赖NTLM协议,需两端机器存在用户名+密码完全一致的本地用户,同时SQL Server需为该用户分配登录权限;此外旧版OLE DB驱动对SQL Server 2022的NTLM兼容性可能存在问题。

具体解决步骤

1. 同步两台机器的本地用户信息

工作组中Windows身份验证用本地用户身份访问SQL Server,因此Win10当前登录用户必须在Win11机器上存在完全相同的用户名和密码,且该用户需属于Win11本地管理员组(或至少拥有SQL Server登录权限)。

  • 操作:在Win11上创建与Win10登录用户同名的本地用户并设置相同密码;或在Win10上切换为Win11已存在的本地用户登录。

2. 配置SQL Server的Windows登录权限

确认Win11上的目标本地用户(或所属组)已被添加到SQL Server登录列表,并授予数据库访问权限。

  • 操作:
    1. 在Win11上打开SQL Server Management Studio(SSMS),连接本地SQL Server。
    2. 展开安全性 > 登录名,查看是否存在格式为WIN11机器名\用户名的登录项。
    3. 若不存在,右键点击“登录名”选择“新建登录名”,在“常规”选项卡选“Windows身份验证”,输入WIN11机器名\用户名;切换到“用户映射”选项卡,勾选需要访问的数据库并分配对应权限(如db_datareader、db_datawriter)。

3. 更新Windows 10的OLE DB驱动

旧版Microsoft OLE DB Provider for SQL Server(DBNETLIB)对SQL Server 2022的NTLM支持可能存在兼容性问题,需更新至最新驱动:

  • 操作:
    1. 在Win10的“控制面板-程序和功能”中卸载旧版OLE DB驱动。
    2. 安装Microsoft OLE DB Driver for SQL Server最新版本,之后在UDL文件中选择该新驱动重新测试连接。

4. 统一NTLM协议设置

确保两台机器的NTLM版本一致,优先使用NTLMv2:

  • 操作:
    1. 按Win+R输入gpedit.msc打开组策略编辑器(Win10/Win11均需操作)。
    2. 导航至计算机配置 > Windows设置 > 安全设置 > 本地策略 > 安全选项。
    3. 将“网络安全: LAN管理器身份验证级别”设为“发送NTLMv2响应\拒绝LM & NTLM”。
    4. 将“网络安全: NTLMv2会话响应”设为“已启用”。

5. 检查NetBIOS与SMB服务状态

工作组依赖NetBIOS识别机器名、SMB完成身份验证协商,需确保相关服务正常运行:

  • 操作:
    1. 按Win+R输入services.msc,在Win10和Win11上分别确认“Server”、“Workstation”、“TCP/IP NetBIOS Helper”服务已启动且设置为自动。
    2. 确保两台机器防火墙允许SMB(端口445)和SQL Server端口(默认1433,Express可能为动态端口,可在SQL Server配置管理器中查看)的入站/出站连接。

6. 用IP地址替代机器名测试

若机器名解析异常导致验证失败,可在UDL文件中输入Win11机器的IP地址作为服务器名称,再尝试Windows身份验证。

验证操作

完成上述步骤后,重新创建UDL文件,选择更新后的OLE DB驱动,使用Windows身份验证尝试展开数据库列表并测试连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 00:17:22