具有相同名称的其他域用户的 SQL Server 登录名

具有相同名称的其他域用户的 SQL Server 登录名

由于某些情况,我不得不脱离安装了 SQL Server 2014 Business Intelligence Edition 的基于 Windows Server 2012 R2 的域计算机。我们将其称为“mydomain.local”。然后,我在域控制器计算机上完全重新安装 AD DS 角色,并从头开始重新创建域“mydomain.local”。之后,SQL Server 计算机再次加入“新”的“mydomain.local”域。现在,我尝试以“mydomain\Administrator”的身份使用 SSMS 连接到数据库引擎,并收到错误:

无法连接到 SQLSERVER。
其他信息:用户“mydomain\Administrator”登录失败。(Microsoft SQL Server,错误:18456)如需帮助,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=18456&LinkId=20476

错误 18456 有几种状态,可以在 SQL Server 错误日志中查看,在我的例子中是状态 5。给出了错误状态解释这里

我仍然可以以本地管理员身份登录 SQL Server。我理解问题的原因是具有相同名称的“新”登录具有不同的 sid。我认为我应该删除登录“mydomain\Administrator”,然后重新添加“新”登录并为其分配 sysadmin 角色。但删除登录也是一个问题,因为:

登录名“mydomain\Administrator”拥有一个或多个数据库。删除登录名前,请更改数据库的所有者。

当然,我可以将数据库所有权更改为本地管理员,然后在重新添加域用户登录后将其切换回来。但我很好奇,有没有更聪明的方法可以用“新”域登录替换“旧”域登录?

答案1

可能有办法“破解” sys.syslogins,但我不建议尝试。重新创建帐户可能更容易。

相关内容