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?

Author: l--'''---------'''''', 2010-10-22

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.

alt text

 129
Author: marc_s,
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
 56
Author: Joe Stefanelli,
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'
 17
Author: SQLMenace,
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