我有一个双节点 SQL Server 2016 Standard Always-On 环境,当我创建一个新的可用性组时,我收到以下错误消息:
Endpoints 选项卡列出了至少一个仅使用 Windows 身份验证的端点。但是,服务器实例可能在非域帐户下运行。要使用列出的终结点,请将相应的 SQL Server 服务帐户更改为域帐户。要继续使用非域帐户,请更改端点以使用证书。
您要使用列出的端点吗?
现在有相当多的信息可以纠正这个问题,但我正在努力寻找适合我的场景的修复方法。如消息所示,所有我发现的是,当您以非域用户身份运行 SQL Server 和端点时。
我以同一域用户身份运行这两个实例,该用户在两个节点上都有管理员权限,在每个 SQL Server 实例中都有系统管理员权限,这可以在端点选项卡上看到,两个端点 SQL 服务帐户条目都是Domain\svc_account
运行 SQL Server 的帐户条目。
可用性组创建完美,我偶尔会向辅助节点授予 CREATE DB 以初始化播种,但除此之外一切都很好。故障转移是完美的等等。我们有 20 多个 AG。这可能是个问题吗?我相信 AG 已在多达 100 个组中成功测试。作为 SQL Server Standard,我们每组只能做 1 个 DB,而且大多数 DB 都小于 5GB。
所以我假设它还没有引起任何问题,但无论如何我想知道在我的场景中它是否可以忽略或修复。
节点 1 的输出:
节点 2:
谢谢你的帮助。
看起来因为一切似乎都配置正确(我看不到域帐户信息 [它应该被编辑 :) ])所以我不会担心它。如果这种情况发生在环境中的多台服务器上,则可能需要进一步调查,但总的来说,您发布的所有内容似乎都符合正常配置的系统。
我将其追溯到
IsValidDomainUserForWinAuthentication
SSMS 中使用的调用,无论出于何种原因,该调用都返回 false。从逻辑上看,它正在检查一些不同的项目,但最突出的是关于服务帐户名称的配置方式(允许的字符)和LookupAccountName
成功完成调用的假设。这将需要时间旅行跟踪或 SSMS 的完整内存转储(当显示消息框时)才能真正进一步调查,我认为目前没有必要。