我有一个使用 Windows 身份验证添加到 SQL Server 2008 R2 计算机的用户。
他几个月前离开了公司,此时他的 AD 用户被禁用并转移到另一个 OU。
用户数据库登录和用户不受影响。
然后他回到公司,他的 AD 用户被重新激活,并移动到正确的 OU。
但是,他所有的数据库登录当前都出现登录失败。
如果采取以下措施,问题就会得到解决:
- 删除现有登录名
- 重新创建登录
- 将登录名重新映射到现有数据库用户
这是一种不切实际的方法,因为它意味着跟踪每个登录并重新创建它。
我怎样才能以更实际的方式解决这个问题?
没有更实际的解决方案,这个问题的原因是什么?
在删除 SQL 登录之前检查 SQL 和 AD 中帐户的 SID,以确认它们确实相同,并且 AD 管理员并没有真正删除并重新创建 AD 用户帐户,只是告诉您否则。
文章:http ://sqlserver-help.com/2014/05/27/sql-internals-how-to-map-login-sid-to-domain-account/和https://technet.microsoft.com/en -美国/图书馆/ff730940.aspx
可能有一种方法可以从 PowerShell 获取两者,但要确认 AD 域和林功能级别是什么,并研究您的 SQL Server 版本以查找已知错误——也许是时候升级/更新一个或另一个了。