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

为什么使用FQDN域名创建SQL Server Windows AD登录失败,短域名可正常使用?

问题原因

你的Active Directory域存在两套合法命名体系,SQL Server默认的Windows账号解析逻辑只识别短名称格式:

  • NetBIOS域名:你执行成功时用的test属于这类短域名,是AD域创建时默认生成的局域网资源识别名称,SQL Server默认会优先用该格式匹配域账号
  • DNS域名(FQDN):你执行失败时用的test.com属于这类完全合格域名,主要用于网络层级的域路由定位,默认情况下SQL Server不会将该格式的前缀识别为合法的域标识,因此无法匹配到对应域下的MyUser账号,触发找不到用户的报错。

配置方法(支持两种账号写法正常使用)

要实现两种域名前缀的写法都能正常创建登录名、正常登录,按以下步骤配置即可:

  1. 基础解析层配置
    • 登录SQL Server所在的Windows服务器,确认NetBIOS over TCP/IP功能已启用:进入网卡属性→Internet 协议版本4(TCP/IPv4)→属性→高级→WINS→勾选启用 NetBIOS over TCP/IP
    • 编辑服务器本地的lmhosts文件(路径C:\Windows\System32\drivers\etc\lmhosts),添加如下映射记录,将DNS域名和NetBIOS域名绑定到同一域控制器:
      你的域控制器IP地址  test #PRE #DOM:test
      你的域控制器IP地址  test.com #PRE
      
    • 配置完成后执行命令nbtstat -R刷新NetBIOS解析缓存,执行ipconfig /flushdns刷新DNS缓存。
  2. SQL Server层配置
    • 如果你可以接受用用户主体名称(UPN)格式替代test.com\MyUser的前缀格式,直接额外创建UPN格式的登录名即可,该格式为SQL Server原生支持,用户可以任选test\MyUser或MyUser@test.com登录:
      CREATE LOGIN [MyUser@test.com] FROM WINDOWS WITH DEFAULT_DATABASE=[DB];
      
    • 如果你必须要支持test.com\MyUser的前缀写法,需要在AD域控制器的域属性中,将test.com添加为域的额外NetBIOS别名,配置完成后重启SQL Server服务即可让SQL Server识别两种域名前缀的账号格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 05:24:05