Próbuję dowiedzieć się, dlaczego SQL Server ma rolę db_owner
schematu i db_owner
rolę? To bardzo mylące. Szukałem odpowiedzi i jak dotąd rozumiem:Role serwera SQL, schematy, użytkownicy
- Wszystkie tabele i obiekty (takie jak ograniczenia itp.) Należą do schematu.
DBO
jest domyślnym schematem. - Użytkownik może otrzymać pozwolenie na edycję każdego obiektu lub schematu. Uprawnienie do schematu rozszerza uprawnienia do wszystkich obiektów w tym schemacie. Nie musisz więc udzielać zgody na każdy pojedynczy obiekt.
- Rola grupuje uprawnienia razem dla wygody.
Jeśli którykolwiek z powyższych jest nieprawidłowy, daj mi znać. Ale myślę, że aż tak dobrze. Teraz moje pytania to:
- Czym dokładnie jest schemat
db_owner
widziany w oknie dialogowym "Użytkownik bazy danych" SQL Server Management Studio? W tym samym oknie dialogowym definiujesz "Schemat domyślny" jakodbo
. Dlaczego te dwie rzeczy nie są takie same? Jeśli domyślnie SQL Server używadbo
do tworzenia wszystkich obiektów pod, jaki jest użytekdb_owner
? - Dlaczego użytkownik chce posiadać schemat? Już przypisujesz uprawnienia/role. Co daje właścicielowi
db_accessadmin
? - Czy możesz podać przykład tworzenia obiektów pod schematem
db_owner
i schematudb_accessadmin
? Innymi słowy, czy ktokolwiek legalnie używa tych schematów?
Zgoda. Śmieszne było tworzenie dwóch różnych rodzajów obiektów (schematu i roli) o tej samej nazwie. – LarryBud