Używam programu SQL Server 2008 Express Edition.Jak przyznawać uprawnienia do bazy danych dla uprawnień do schematu? Co ja robię źle?
Utworzyłem login, użytkownika, rolę i schemat. Zmapowałem użytkownika do loginu i przypisałem mu rolę.
Schemat zawiera wiele tabel i procedur składowanych.
Chciałbym, aby rola miała uprawnienia do wykonywania dla całego schematu.
Próbowałem przyznać uprawnienia do wykonywania przez studio zarządzania i poprzez wprowadzenie polecenia w oknie zapytania.
GRANT EXEC ON SCHEMA::schema_name TO role_name
ale kiedy połączyć się z bazą danych przy użyciu studio zarządzania SQL (jako logowania stworzyłem) Po pierwsze nie widzę procedur przechowywanych, ale co ważniejsze, pojawia się błąd Odmowa dostępu przy próbie ich uruchomienia.
Opisana procedura składowana nie robi nic poza wybieraniem danych z tabeli w ramach tej samej wartości schma.
Próbowałem tworzenia procedurę przechowywaną i bez linii:
WITH EXECUTE AS OWNER
To nie robi żadnej różnicy.
Podejrzewam, że popełniłem błąd podczas tworzenia mojego schematu lub istnieje gdzieś problem własności, ale naprawdę staram się, aby coś działało.
Jedynym sposobem, w jaki udało mi się wykonać procedury składowane, jest udzielenie uprawnień kontrolnych do roli, jak również wykonanie, ale nie uważam, że jest to poprawny, bezpieczny sposób postępowania.
Wszelkie sugestie/komentarze będą naprawdę mile widziane.
Dzięki.
Czy zezwoliłeś na wykonywanie uprawnień użytkownikowi utworzonemu dla Sproc? –