AD服务器上的AD帐户更改无效

当我们需要改变一个用户的姓氏,比如从jsmithjjones ,在我们的Win2000活动目录中,我们会发现Sql Server 2008有一些奇怪的行为。

jjones通过这个应用程序访问服务器时,Sql Server仍然认为他们的用户名是jsmith ,而他们已经login到名称变更(即他们的工作站,所涉及的应用程序)的所有内容都接受jjones 。 这几乎就像Sql Servercaching凭证一样。

要清楚的是,我们只是改变姓氏,而不是重新创build账户,所以SID应该是相同的(我的假设)。 他们也没有直接login到服务器。

我的两个问题是:如果证书被caching,它在哪里? 其次,我们如何清除caching?

如果我的理解完全倾斜,我错过了什么?

TIA

Jim Little

SQL Server确实caching用户令牌。 你可以强迫他们清理

DBCC FREESYSTEMCACHE('USERSTORE_TOKENPERM'); 

那是对的。 当你在SQL Server中设置login时,你给它的帐户的用户名和域。 然后进入Windows并获取帐户的SID并将其存储在SQL Server中。 在Windows中更改用户名时,SID保持不变。 当用户login到SQL Server时,SID将从客户机传递到服务器,并根据数据库(以及一些身份validation令牌)进行validation。

SQL Server使用它存储在master数据库中的名称作为显示名称。

要改变这一点,你需要从SQL Server中删除login名,并使用用户新名称重新创build它。