SQL Server 2008: Как предоставить права доступа к имени пользователя?



Мне нужно иметь возможность установить соединение ODBC через проверку подлинности SQL Server.



в SSMS как я могу предоставить разрешение для пользователя, чтобы иметь все права на определенную базу данных?



есть ли способ сделать это графически с помощью SSMS?

656   3  

3 ответов:

если вы хотите предоставить пользователю все права на чтение, вы можете использовать:

EXEC sp_addrolemember N'db_datareader', N'your-user-name'

это добавляет значение по умолчанию db_datareader роль (разрешение на чтение всех таблиц) для этого пользователя.

есть еще db_datawriter роль-которая дает пользователю все права на запись (вставка, обновление, удаление) на всех таблицах:

EXEC sp_addrolemember N'db_datawriter', N'your-user-name'

Если вам нужно быть более гранулированным, вы можете использовать GRANT команда:

GRANT SELECT, INSERT, UPDATE ON dbo.YourTable TO YourUserName
GRANT SELECT, INSERT ON dbo.YourTable2 TO YourUserName
GRANT SELECT, DELETE ON dbo.YourTable3 TO YourUserName

и так далее - вы можете гранулярно дать SELECT, INSERT, Обновление, удаление разрешений на определенные таблицы.

это все очень хорошо документировано в книги на веб-сайте MSDN для SQL-сервера.

и да, вы также можете сделать это графически - в SSMS, перейдите в свою базу данных, а затем Security > Users, щелкните правой кнопкой мыши на том пользователе, которому вы хотите дать разрешения, а затем Properties adn внизу вы видите "членство в ролях базы данных", где вы можете добавить пользователя в роли БД.

alt text

Если вы действительно хотите, чтобы у них были все права:

use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go

, как показано ниже. Это сделает пользователя владельцем базы данных.

EXEC sp_addrolemember N'db_owner', N'USerNAme'

Comments

    Ничего не найдено.