Мне нужно установить соединение ODBC через аутентификацию SQL Server.
Как в SSMS предоставить пользователю ВСЕ ПРАВА на определенную базу данных?
есть ли способ сделать это графически с помощью SSMS?
Мне нужно установить соединение ODBC через аутентификацию SQL Server.
Как в SSMS предоставить пользователю ВСЕ ПРАВА на определенную базу данных?
есть ли способ сделать это графически с помощью SSMS?
Ответы:
Если вы хотите предоставить своему пользователю все разрешения на чтение, вы можете использовать:
EXEC sp_addrolemember N'db_datareader', N'your-user-name'
Это добавляет значение по умолчанию db_datareader
роль (разрешение на чтение для всех таблиц).
Также есть db_datawriter
роль, которая дает вашему пользователю все разрешения WRITE (INSERT, UPDATE, DELETE) для всех таблиц:
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, UPDATE, DELETE для определенных таблиц.
Все это очень хорошо задокументировано в электронной документации MSDN для SQL Server .
И да, вы также можете сделать это графически - в SSMS перейдите в свою базу данных, затем Security > Users
щелкните правой кнопкой мыши пользователя, которому вы хотите предоставить разрешения, а затем Properties
внизу вы увидите «Членство в ролях базы данных», где вы можете добавить пользователь в роли db.
Если вы действительно хотите, чтобы у них были ВСЕ права:
use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go