我遇到了SQL登錄到sql 2008 r2服務器的問題。SQL Server Windows登錄 - 相同名稱不同用戶(SID)
在活動目錄中創建了一個用戶,我們稱他爲「mydomain \ jon.doe」,並在SQL服務器上創建了一個Windows登錄。
由於與交換這個AD帳戶被刪除,一個新的問題仍然創建名爲「MYDOMAIN \ jon.doe」
我跑到下面從我的SQL Server刪除舊的用戶...
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服務器它似乎保留舊的SID不是新AD帳戶的SID?
到目前爲止,我已經試過這...但沒有運氣
DBCC FREESYSTEMCACHE('ALL')
這是正確的預防措施和其他許多原因。如果您對所有AD訪問使用組成員身份,則可以避免這種情況。但是,它不會清除那裏存在的錯誤SID,因爲看起來NoseBag先生可能已經刪除了DB用戶,而不是登錄本身。 –