SQL Server 2008: jak przyznać uprawnienia do nazwy użytkownika?
Muszę być w stanie ustanowić połączenie ODBC poprzez uwierzytelnianie SQL Server.
W SSMS jak przyznać użytkownikowi uprawnienia do posiadania wszystkich praw do określonej bazy danych?
Czy jest sposób, aby to zrobić graficznie z SSMS?
3 answers
Jeśli chcesz nadać użytkownikowi wszystkie uprawnienia do odczytu, możesz użyć:
EXEC sp_addrolemember N'db_datareader', N'your-user-name'
Dodaje domyślną rolę db_datareader
(uprawnienia do odczytu we wszystkich tabelach) do tego użytkownika.
Istnieje również rola db_datawriter
, która nadaje użytkownikowi wszystkie uprawnienia zapisu (wstawianie, aktualizacja, usuwanie) na wszystkich tabelach:
EXEC sp_addrolemember N'db_datawriter', N'your-user-name'
Jeśli chcesz być bardziej ziarnisty, możesz użyć polecenia 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
I tak dalej - można granularnie dać uprawnienia SELECT, INSERT, UPDATE, DELETE na konkretnych stoły.
To wszystko jest bardzo dobrze udokumentowane w MSDN Books Online for SQL Server.I tak, możesz to zrobić również graficznie-w SSMS, przejdź do bazy danych, następnie Security > Users
, Kliknij prawym przyciskiem myszy na tym użytkowniku, któremu chcesz nadać uprawnienia, a następnie Properties
adn na dole zobaczysz "Database role memberships", gdzie możesz dodać użytkownika do ról db.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-22 16:16:12
Jeśli naprawdę chcesz, aby miały wszystkie prawa:
use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-22 16:01:02
Jak poniżej. To uczyni użytkownika właścicielem bazy danych.
EXEC sp_addrolemember N'db_owner', N'USerNAme'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-12-17 12:07:33