SQL Server 2008: Как предоставить права доступа к имени пользователя?
Мне нужно иметь возможность установить соединение ODBC через проверку подлинности SQL Server.
в SSMS как я могу предоставить разрешение для пользователя, чтобы иметь все права на определенную базу данных?
есть ли способ сделать это графически с помощью SSMS?
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, щелкните правой кнопкой мыши на том пользователе, которому вы хотите дать разрешения, а затемPropertiesadn внизу вы видите "членство в ролях базы данных", где вы можете добавить пользователя в роли БД.
Если вы действительно хотите, чтобы у них были все права:
use YourDatabase go exec sp_addrolemember 'db_owner', 'UserName' go
, как показано ниже. Это сделает пользователя владельцем базы данных.
EXEC sp_addrolemember N'db_owner', N'USerNAme'

Comments