J'ai une application .net qui se connecte au serveur SQL en utilisant l'authentification Windows.
Nous ne pouvons pas utiliser l'authentification SQL Server dans l'application. Nous avons beaucoup d'utilisateurs Active Directory sur notre projet. Nous devons donc créer un compte de connexion distinct pour chaque utilisateur Active Directory dans SQL Server plutôt que créer un compte de connexion distinct pour chaque utilisateur AD. Existe-t-il un moyen d'utiliser le groupe d'utilisateurs Active Directory dans SQL Server?
Dans SQL Server Management Studio, accédez à Object Explorer > (your server) > Security > Logins
, puis cliquez avec le bouton droit de la souris sur New Login
:
Puis, dans la boîte de dialogue qui s’ouvre, choisissez les types d’objets que vous souhaitez voir (Groups
est désactivé par défaut - cochez-le!) Et choisissez l’emplacement où vous souhaitez rechercher vos objets (par exemple, utilisez Entire Directory
), puis trouvez votre groupe AD.
Vous avez maintenant une connexion SQL Server normale, comme lorsque vous en créez une pour un utilisateur AD unique. Donnez à cette nouvelle connexion les autorisations sur les bases de données dont elle a besoin, et c'est parti!
Tout membre de ce groupe AD peut maintenant se connecter à SQL Server et utiliser votre base de données.
Vous pouvez utiliser T-SQL:
use master
GO
CREATE LOGIN [NT AUTHORITY\LOCALSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO
CREATE LOGIN [NT AUTHORITY\NETWORKSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
J'utilise ceci dans le cadre d'une restauration d'un serveur de production vers une machine d'essai:
USE master
GO
ALTER DATABASE yourDbName SET OFFLINE WITH ROLLBACK IMMEDIATE
RESTORE DATABASE yourDbName FROM DISK = 'd:\DropBox\backup\myDB.bak'
ALTER DATABASE yourDbName SET ONLINE
GO
CREATE LOGIN [NT AUTHORITY\LOCALSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO
CREATE LOGIN [NT AUTHORITY\NETWORKSERVICE] FROM WINDOWS WITH
DEFAULT_DATABASE=yourDbName
GO
Vous devrez utiliser le nom localisé des services dans le cas de Windows allemand ou français, voir Comment créer une connexion SQL Server pour un compte de service sur un Windows non anglais?