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

Предоставление разрешений пользовательской базе данных в SQL Server Management Studio

В SQL Server Management Studio, когда я щелкаю правой кнопкой мыши свою базу данных и выбираю свойства, открывается окно, показывающее разрешения, которые есть у пользователей в базе данных. Я недавно добавил пользователя в активный каталог с намерением предоставить этому пользователю разрешение в моей базе данных. Проблема в том, что в активном каталоге я вижу много пользователей, но в SQL Server Management Studio я вижу очень мало из этих пользователей. Пользователь, которого я только что создал, не появляется ни когда я нажимаю поиск-> просмотр, ни когда я ищу точное имя. Что я делаю не так? Разве SQL Server не должен подключаться к Active Directory для получения списка пользователей? Кроме того, похоже, что все пользователи, которые появляются, все из одной группы в AD ...

редактировать

просто говорю спасибо всем за ответы ...

Резюме ответов и решение

Пользователи должны быть добавлены в основную папку Security-> Logins ДО того, как они появятся в конкретной базе данных Properties-> Permissions-> Users list. Однако, поскольку у меня не было достаточно разрешений на самом SQL Server, когда я перешел в основную папку логинов, я не увидел пользователей (даже если они были там для моего коллеги, у которого было больше разрешений). Но так как у меня ДЕЙСТВИТЕЛЬНО было достаточно разрешений в базе данных, я МОГ увидеть там пользователей, что привело меня в замешательство.

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

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

Пользователи и логины не просто появляются, их нужно создавать.

По сути, вам следует добавить ADuser в качестве имени входа в SQL Server (чтобы он был аутентифицирован на сервере) и создать пользователя в базе данных, который связан с именем входа, и дать этому пользователю разрешение на выполнение каких-либо действий (см. , писать, обновлять и т. д.) в вашей базе (авторизация). Вы можете добиться этого, используя что-то вроде этого:

USE [master]
GO
CREATE LOGIN [Domain\User] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO
USE [YourTargetDatabase]
GO
CREATE USER [Domain\User] FOR LOGIN [Domain\User]
GO
USE [YourTargetDatabase]
GO
EXEC sp_addrolemember N'db_datareader', N'Domain\User'
GO
USE [YourTargetDatabase]
GO
EXEC sp_addrolemember N'db_datawriter', N'Domain\User'
GO

Иногда вы можете видеть пользователей, которые не связаны с какими-либо логинами из-за того, что база данных, взятая на другом сервере, может быть восстановлена ​​здесь, или логин удаляется без удаления связанных пользователей.