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

Почему для учетной записи A / D требуется вход в SQL Server?

Мне нужна помощь в понимании различий между аутентификацией Windows и SQL Server:

У нас есть SQL Server 2008, настроенный на SQL Server и режим проверки подлинности Windows.

Есть один пользователь A / D - munis - который может войти в наш SQL Server. У этого пользователя также есть логин в SQL Server с ролями Public и Sysadmin.

Есть еще один пользователь - cnorton - который не может войти в SQL Server и не имеет локального входа в SQL Server.

Я думал, что проверка подлинности Windows позволяет пользователям A / D (домена) входить в SQL Server. Пользователь cnorton имеет больше прав A / D, чем пользовательские munis, такие как Domain Admin и Sysadmin.

Итак, мой вопрос: требуется ли для режима аутентификации Windows и SQL Server локальный вход в SQL Server и почему?

Нет, очевидно, что смешанный режим не требует обоих - он требует одного.

Ваша ошибка заключается в том, что вы думаете, что учетные данные AD автоматически разрешить доступ к SQL серверу; они этого не делают, вы все равно должны ПРЕДОСТАВИТЬ этот доступ. В противном случае, как бы Sql Server узнал, какой у них доступ?

Создайте новый логин для DOMAIN \ cnorton и сопоставьте пользователя с некоторыми базами данных.

CREATE LOGIN 'DOMAIN\cnorton' FROM WINDOWS
GO
GRANT ALL PRIVILEGES ON YourDatabase To 'DOMAIN\cnorton'
GO

В качестве альтернативы вы можете добавить этого пользователя к фиксированной роли базы данных:

USE YourDatabase
GO
ALTER ROLE db_owner ADD MEMBER 'DOMAIN\cnorton'

Вам по-прежнему нужно создать логин на сервере SQL для пользователя AD cnorton, но вам не нужно создавать для него пароль.

В SSMS выберите нужный экземпляр сервера, а затем в разделе «Логины» щелкните правой кнопкой мыши и нажмите «Новый вход ...»

В диалоговом окне вы можете нажать кнопку поиска и выполнить поиск в экземпляре AD по именам:

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

SQL Server - это приложение. Проверка подлинности Windows и проверка подлинности SQL - это два разных метода проверки подлинности SQL Server как приложения. Оба типа требуют, чтобы пользователь-участник был определен / создан с определенным уровнем доступа. Вот что такое логин. Вы можете создать логин любого типа, но вы должны создать логин и предоставить ему некоторый уровень доступа.