Как добавить группу пользователей Active Directory в качестве входа в SQL Server

У меня есть приложение .net, которое подключается к SQL Server с помощью проверки подлинности Windows.

Мы не можем использовать аутентификацию SQL Server в приложении. У нас есть много пользователей Active Directory для нашего проекта. Таким образом, мы должны создать отдельную учетную запись для каждого пользователя Active Directory на SQL Server, а не создавать отдельную учетную запись для каждого пользователя AD, есть ли способ использовать активную группу пользователей в SQL Server?

Ответ 1

В SQL Server Management Studio перейдите к Object Explorer > (your server) > Security > Logins и щелкните правой кнопкой мыши New Login:

enter image description here

Затем в появившемся диалоговом окне выберите типы объектов, которые вы хотите видеть (Groups отключен по умолчанию - проверьте это!) и выберите место, где вы хотите искать свои объекты (например, используйте Entire Directory), а затем найдите свою группу AD.

enter image description here

Теперь у вас есть обычный вход в SQL Server - точно так же, как при создании одного для одного пользователя AD. Дайте этому новому логину разрешения на нужные ему базы данных и отпустите!

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

Ответ 2

Вы можете использовать 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

Я использую это как часть восстановления с рабочего сервера на тестовую машину:

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

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