Мені потрібно мати можливість встановити 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 Books Online для SQL Server .
І так, ви також можете це зробити графічно - в SSMS перейдіть до своєї бази даних, потім Security > Users
клацніть правою кнопкою миші того користувача, якому ви хочете надати дозволи, а потім Properties
внизу ви побачите "Членство в ролі бази даних", де ви можете додати користувачеві ролі db.
Якщо ви дійсно хочете, щоб вони мали ВСІ права:
use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go