Назад | Перейти на главную страницу

Изменение учетной записи AD не действует на сервере sql

Когда нам нужно изменить фамилию пользователя, скажем, от jsmith к Джонсв нашем активном каталоге Win2000 мы наблюдаем немного странное поведение с Sql Server 2008.

когда Джонс попадает на сервер через это приложение, Sql Server по-прежнему считает, что его имя пользователя jsmith, тогда как все остальное, что они вошли в систему после изменения имени (т.е. их рабочая станция, рассматриваемое приложение), принимает Джонс. Это почти как если бы Sql Server кэшировал учетные данные.

Для ясности, мы меняем только фамилию, а не воссоздаем учетную запись, поэтому SID должен быть таким же (мое предположение). Они также не заходят на сервер напрямую.

Мои 2 вопроса: если учетные данные кешированы, где они? И во-вторых, как нам очистить указанный кеш?

Если мое понимание полностью искажено, что мне не хватает?

TIA

Джим Литтл

SQL Server действительно кэширует токены пользователя. Вы можете заставить их убрать

DBCC FREESYSTEMCACHE('USERSTORE_TOKENPERM');

Это верно. Когда вы настраиваете логин в SQL Server, вы даете ему имя пользователя и домен учетной записи. Затем он переходит в Windows, получает SID учетной записи и сохраняет их в SQL Server. Когда вы меняете имя пользователя в Windows, SID остается прежним. Когда пользователь входит в SQL Server, SID передается с клиентского компьютера на сервер и проверяется по базе данных (вместе с некоторыми токенами аутентификации).

SQL Server использует имя, которое он сохранил в базе данных master, в качестве отображаемого имени.

Чтобы изменить это, вам нужно удалить логин из SQL Server и воссоздать его, используя новое имя пользователя.