Sql server SQL Server Windows登录-同名不同用户(SID)
我在windows登录sql 2008 r2服务器时遇到问题 在active directory中创建了一个名为“mydomain\jon.doe”的用户,并在SQL server上创建了windows登录名 由于exchange出现问题,此广告帐户已被删除,并创建了一个名为“mydomain\jon.doe”的新帐户 我运行以下命令从我的sql server中删除旧用户Sql server SQL Server Windows登录-同名不同用户(SID),sql-server,sql-server-2008-r2,active-directory,Sql Server,Sql Server 2008 R2,Active Directory,我在windows登录sql 2008 r2服务器时遇到问题 在active directory中创建了一个名为“mydomain\jon.doe”的用户,并在SQL server上创建了windows登录名 由于exchange出现问题,此广告帐户已被删除,并创建了一个名为“mydomain\jon.doe”的新帐户 我运行以下命令从我的sql server中删除旧用户 EXECUTE('USE ' + @Database + ' IF EXISTS (SELECT [name] FROM
EXECUTE('USE ' + @Database + ' IF EXISTS (SELECT [name] FROM sys.Schemas WHERE [name] = ''' + @FullyQualifiedUserName + ''') BEGIN DROP SCHEMA [' + @FullyQualifiedUserName + '] PRINT ''Deletion '' END')
EXECUTE('USE ' + @Database + ' IF EXISTS (SELECT [name] FROM sys.Schemas WHERE [name] = ''' + @SimpleUserName + ''') BEGIN DROP SCHEMA [' + @SimpleUserName + '] PRINT ''Deletion '' END')
EXECUTE('USE ' + @Database + ' IF EXISTS (SELECT [name] FROM sys.database_principals WHERE [name] = ''' + @FullyQualifiedUserName + ''') BEGIN DROP USER [' + @FullyQualifiedUserName + '] PRINT ''Deletion '' END')
EXECUTE('USE ' + @Database + ' IF EXISTS (SELECT [name] FROM sys.database_principals WHERE [name] = ''' + @SimpleUserName + ''') BEGIN DROP USER [' + @SimpleUserName + '] PRINT ''Deletion '' END')
但是,当我将“mydomain\jon.doe”重新添加到sql server时,它似乎保留了旧SID而不是新AD帐户的SID
到目前为止我已经试过了。。。但是没有运气
DBCC FREESYSTEMCACHE('ALL')
解决方法可能是在Active Directory中创建一个只包含“mydomain\jon.doe”的组,并为此组添加SQL登录。解决方法可能是在Active Directory中创建一个只包含“mydomain\jon.doe”的组,并为此组添加一个SQL登录。您的代码显示数据库用户删除,但是你从服务器上删除了登录名吗
[your user drops]
Use master
go
DROP LOGIN [mydomain\jon.doe];
如果不是,则SQL Server仍在使用旧SID链接到AD用户
如果你跑
xp_logininfo 'mydomain\jon.doe'
…您是否收到错误0x534?如果是这样,那么您肯定需要这样做:
这将从SQL Server中清除旧SID,您将再次正常工作。您的代码显示数据库用户已删除,但您是否已从服务器删除登录名
[your user drops]
Use master
go
DROP LOGIN [mydomain\jon.doe];
如果不是,则SQL Server仍在使用旧SID链接到AD用户
如果你跑
xp_logininfo 'mydomain\jon.doe'
…您是否收到错误0x534?如果是这样,那么您肯定需要这样做:
这将从SQL Server中清除旧的SID,您将再次正常工作。这是正确的预防措施,原因有很多。如果对所有广告访问使用组成员身份,则可以避免这种混乱。但是,它不会清除存在的坏SID,因为看起来NoseBag先生可能删除了DB用户,而不是登录本身。这是正确的预防措施,因为这和许多其他原因。如果对所有广告访问使用组成员身份,则可以避免这种混乱。然而,它不会清除存在的坏SID,因为看起来NoseBag先生可能删除了DB用户,但没有删除登录本身。