2013-03-04 16 views
6

Mam bazę danych serwera SQL, a wkrótce będą to dwie bazy danych, których używam na stronie internetowej.Jak utworzyć użytkownika w SQL-Server, który ma tylko dostęp do jednej tabeli i może wstawiać tylko wiersze

Mam już konto użytkownika, które jest tylko do odczytu dla bazy danych 1, aby przeszukać nasz asortyment produktów. Chciałbym utworzyć oddzielne konto tylko dla bazy danych 2, TYLKO dla tabeli 1, która TYLKO umożliwia wstawianie rekordów (bez aktualizacji lub usuwania lub cokolwiek innego). Próbuję być tak redundantny, jak to możliwe, z ograniczeniami dostępu (na górze kodu, aby spróbować zapobiec wstrzyknięciu sql, jeśli ktoś miałby jakoś przejść przez coś, nie chcę, aby sama baza danych pozwalała na to).

Pytanie podstawowe, Jak utworzyć użytkownika na serwerze SQL, który ma ograniczony dostęp tylko do x tabeli w bazie danych y i może tylko czytać/wstawiać rekordy i nic więcej?

+0

Zobacz tutaj: http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/MSSQLServerAdmin/giving-only-insert-permissions-to – SQLMenace

Odpowiedz

4

(1) Aby dać użytkownikowi z ograniczonym dostępem do jednej Ta tylko

GRANT SELECT ON [schemaName].[tableName] to [username] 
Go 

(2) Aby przyznać INSERT uprawnienia.

GRANT INSERT ON [schemaName].[tableName] TO [username] 
0

Składnia o udzielenie dostępu do pojedynczej tabeli:

GRANT access_type ON table_name TO [user name] 

Składnia odwołaniu dostęp do jednej tabeli:

REVOKE access_type ON table_name FROM [user name] 

gdzie typ_dostępu can bądz s ELEKTOR, WSTAW, USUŃ ...

Powiązane problemy