Sql server 重命名AD中的安全组,并映射SQL登录

Sql server 重命名AD中的安全组,并映射SQL登录,sql-server,active-directory,Sql Server,Active Directory,例如: 假设我有一个名为group_01的组,该组被映射到SQL Server,并被赋予了某些内容的某些权限 当我将Active Directory中的组重命名为任意值时,让我们假设group\u 01\u OLD。 SQL Server中的组名不会更改,它仍然是group\u 01 这是正常的行为吗?在AD中重命名组时,我是否可以强制SQL重命名该组?此处的注释中隐藏了完整答案: 基本上,整个服务器的重新启动应该会带来更改(假设已经发生了到所有DC的复制) 如果您不能这样做,您可以尝试手动更新

例如:

假设我有一个名为
group_01
的组,该组被映射到SQL Server,并被赋予了某些内容的某些权限

当我将Active Directory中的组重命名为任意值时,让我们假设
group\u 01\u OLD
。 SQL Server中的组名不会更改,它仍然是
group\u 01


这是正常的行为吗?在AD中重命名组时,我是否可以强制SQL重命名该组?

此处的注释中隐藏了完整答案:

基本上,整个服务器的重新启动应该会带来更改(假设已经发生了到所有DC的复制)

如果您不能这样做,您可以尝试手动更新登录名:

ALTER LOGIN [domain\group_01] WITH NAME = [domain\group_01_OLD];

补充加布里埃尔的回答。根据您的场景(您已授予组
组\u 01
)的权限,必须使用ALTER LOGIN命令更改SQL中的名称

ALTER LOGIN [domain\group_01] WITH NAME = [domain\group_01_OLD];
这是因为SQL Server在请求AD之前会在SQL本身中查找匹配的登录目录视图(即
sys.Server\u principals
)。 注意:重命名Windows登录名时,SQL Server将验证新名称是否与SID匹配,以验证登录名重命名是否有效


-劳尔·加西亚(Raul Garcia)

根据我的经验,重启并不能解决任何问题。SID当然是相同的,但除了更改登录名外

ALTER LOGIN [domain\previousgroupname] WITH NAME = [domain\newgroupname];
…如果您希望更改反映在所有地方,并且登录名和用户之间不存在不匹配,则还需要更改登录名所属的每个数据库的安全\用户。可以使用Management studio在Security\Logins和Mapping处编辑组。取消勾选数据库,勾选并再次选择角色。或者使用ALTERUSER,但这只是更多的输入

USE [db]
ALTER USER [domain\previousgroupname] WITH NAME=[domain\newgroupname];

谢谢你的回答,昨天我换了一个群名。重新启动服务器,(测试环境)由于某种原因,第二天SQL server中的组名没有更改。DC的复制没有问题。有什么想法吗?我需要将+500组的名称更改为旧名称以创建新组,如果这些组需要在SQL中手动重命名,这将是一项艰巨的任务。