更新 SQL 服务器中的 SID

Update SID in SQL Server

我的用户已从 Active Directory 中删除并重新创建。当 运行 和 select suser_sid 时,我注意到它显示旧的 SID。

有没有办法将其更新为我的新 SID? 我是 SQL 服务器

的 DBA 管理员

您不能 ALTER LOGIN 的 SID,不(注意 ALTER LOGIN (Transact-SQL) 中没有 SID 选项)。您需要通过删除旧的并重新创建它并赋予它旧的权限来重新创建 LOGIN

这将孤立任何关联的 USER,因此您需要使用 ALTER USER 在其登录的数据库中将它们重新映射到新的 LOGIN

ALTER USER [Domain\User] WITH LOGIN = [Domain\User];

如上所述,您无法为登录更新 SID。来自 Documentation:

NAME = login_name The new name of the login that is being renamed. If this is a Windows login, the SID of the Windows principal corresponding to the new name must match the SID associated with the login in SQL Server. The new name of a SQL Server login cannot contain a backslash character ().