J'utilise Sql Server 2008 sur Small Business Server 2003; le client utilise WinXP.
J'ai ajouté un utilisateur à mon groupe de sécurité Active Directory; Pourquoi cet utilisateur ne peut-il pas accéder immédiatement à la base de données? Il semble qu'il y ait un délai avant que l'utilisateur ne soit reconnu dans Sql Server.
J'utilise des groupes de sécurité AD pour les autorisations expressément afin de ne pas avoir besoin d'ajouter des utilisateurs individuels dans Sql Server. Donc, efficacement, je n'ai rien d'autre à faire que d'ajouter l'utilisateur au groupe de sécurité AD pour accorder l'accès.
Mais pour une raison quelconque, Sql Server ne reconnaît pas immédiatement l'ajout. Je l'ai vu plusieurs fois. J'ajoute l'utilisateur au groupe mais cet utilisateur ne peut pas accéder aux données avant le lendemain. Il semble qu'il n'interroge pas Active Directory en temps réel. Pouvez-vous confirmer qu'il en est ainsi?
Que dois-je faire pour que Sql Server "actualise" la liste des utilisateurs d'Active Directory?
Réponses:
L'utilisateur doit se déconnecter de son poste de travail et se reconnecter. C'est pourquoi les modifications semblent prendre effet le lendemain. La raison en est que lorsque l'utilisateur se connecte le lendemain, il obtient un nouveau jeton du contrôleur de domaine et ce jeton contient la liste des groupes de domaine dont il est membre. Ce jeton avec la liste des groupes de domaines n'est mis à jour que lorsque l'utilisateur se connecte à son ordinateur, donc si l'utilisateur ne se déconnecte jamais, le jeton n'est jamais mis à jour.
Il existe également des retards de réplication de domaine multisite qui doivent être pris en compte si vos contrôleurs de domaine sont dans des emplacements physiques différents.
la source
klist purge
à dba.stackexchange.com/a/44922/29371 , mais avec la mise en garde qu'il pourrait casser d'autres accesseurs de ressources mis en cache que l'utilisateur devrait rétablir / reconnecter.Lorsqu'un utilisateur ouvre une session, un jeton de sécurité lui est attribué qui inclut toutes les informations sur son appartenance au groupe.
Ce jeton persiste jusqu'à ce que l'utilisateur se déconnecte - moment auquel il est supprimé - même si vous apportez des modifications à l'appartenance au groupe dans AD entre-temps. Les modifications que vous apportez ne prendront effet que la prochaine fois que l'utilisateur se connectera et recevra un nouveau jeton de sécurité.
Vous pouvez reproduire le même scénario lors de l'attribution d'autorisations sur un système de fichiers, par exemple; c'est un comportement AD, pas un comportement SQL Server.
la source
Donc, vous obtenez des résultats immédiats serait d'obtenir de nouvelles informations d'identification à chaque fois en exécutant un cmd / script comme:
en utilisant cmd.exe (pas PowerShell, je n'ai pas pu obtenir la citation correcte).
De cette façon, vous obtiendrez un nouveau jeton à chaque fois (mais vous devrez entrer votre pwd). Vous pourriez probablement faire quelque chose avec un mot de passe enregistré aussi, si les choses étaient trop onéreuses.
Quoi qu'il en soit, ça marche pour moi et j'espère que ça aide quelqu'un d'autre.
la source