Я использую Sql Server 2008 для Small Business Server 2003; клиент использует WinXP.
Я добавил пользователя в свою группу безопасности Active Directory; Почему этот пользователь не может сразу получить доступ к базе данных? Кажется, есть задержка, прежде чем пользователь будет распознан в Sql Server.
Я использую группы безопасности AD для разрешений, поэтому мне не нужно добавлять отдельных пользователей в Sql Server. Поэтому мне не нужно ничего делать, кроме как добавить пользователя в группу безопасности AD для предоставления доступа.
Но по какой-то причине Sql Server не сразу распознает дополнение. Я видел это несколько раз. Я добавляю пользователя в группу, но этот пользователь не может получить доступ к данным до следующего дня. Кажется, что он не запрашивает Active Directory в режиме реального времени. Можете ли вы подтвердить, что это так?
Что мне нужно сделать, чтобы Sql Server «обновил» список пользователей из Active Directory?
Ответы:
Пользователь должен выйти из своей рабочей станции и снова войти в систему. Вот почему изменения вступают в силу на следующий день. Причина этого заключается в том, что когда пользователь входит в систему на следующий день, он получает новый токен от контроллера домена, и этот токен содержит список групп домена, членом которых он является. Этот токен со списком групп доменов обновляется только тогда, когда пользователь входит в систему на своем компьютере, поэтому, если пользователь никогда не выходит из системы, токен никогда не обновляется.
Существуют также задержки репликации домена для нескольких сайтов, которые необходимо учитывать, если ваши контроллеры домена находятся в разных физических местах.
источник
klist purge
на dba.stackexchange.com/a/44922/29371 , но с оговоркой, что он может сломать другие кэшированные средства доступа к ресурсам, которые пользователь должен будет повторно установить / повторно подключиться.Когда пользователь входит в систему, ему назначается токен безопасности, который включает всю информацию о членстве в его группе.
Этот токен сохраняется до тех пор, пока пользователь не выйдет из системы - в этот момент он будет удален - даже если вы тем временем внесете изменения в членство в группе в AD. Внесенные вами изменения вступят в силу только при следующем входе пользователя в систему и получении нового токена безопасности.
Такой же сценарий можно воспроизвести, например, при назначении разрешений для файловой системы; это поведение AD, а не поведение SQL Server.
источник
Таким образом, вы получите немедленный результат: каждый раз вы будете получать новые учетные данные, запустив cmd / скрипт, например:
используя cmd.exe (не powershell, я не могу правильно указать цитирование).
Таким образом, вы будете получать новый токен каждый раз (но вам нужно будет ввести свой pwd). Вы могли бы также сделать что-то с сохраненным текстом пароля, если бы все было слишком обременительно.
В любом случае, работает для меня, и я надеюсь, что это поможет кому-то еще.
источник