GRANT Object Permissions (Transact-SQL)
Udziela uprawnień do tabela, widoku, funkcja zwracająca tabelę, procedury przechowywanej, rozszerzona procedura składowana, funkcja skalarna, funkcja agregacja, kolejki usługa lub synonim.
GRANT <permission> [ ,...n ] ON
[ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<permission> ::=
ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Argumenty
permission
Określa uprawnienia, które mogą być przyznane w obiekcie zawartych w schemacie.Aby uzyskać listę uprawnień Zobacz sekcję Spostrzeżenia w dalszej części tego tematu.ALL
Udzielanie ALL nie udziela wszystkie możliwe uprawnienia.Udzielanie ALL jest równoznaczne z udzieleniem wszystkie ANSI-92 uprawnienia stosowane do określonego obiektu. Znaczenie ALL zmienia się następująco:Funkcja skalarna uprawnienia: wykonać, ODWOŁUJE SIĘ.
funkcja zwracająca tabelę uprawnienia: USUWANIE, WSTAW, ODWOŁANIA, WYBRANO AKTUALIZACJI.
Uprawnienia procedura przechowywana: wykonać.
Tabela uprawnienia: USUWANIE, WSTAW, ODWOŁANIA, WYBRANO AKTUALIZACJI.
Wyświetlanie uprawnień: USUWANIE, WSTAW, ODWOŁANIA, WYBRANO AKTUALIZACJI.
UPRAWNIENIA
W ANSI, baz danych użytkowników są zawsze włączone. Nie zmienia zachowanie ALL.column
Określa nazwę kolumna w tabela, widoku lub funkcja wycenione tabela, na które przyznane uprawnienie.Nawiasy ( ) są wymagane.Only SELECT, REFERENCES, and UPDATE permissions can be granted on a column.column can be specified in the permissions clause or after the securable name.Ostrzeżenie
DENY poziomie tabela nie mają priorytet nad dotacji poziom kolumna.Ta niezgodność w hierarchii uprawnień ma zostały zachowane w celu zapewnienia zgodności z poprzednimi wersjami.
ON [OBJECT :: ] [ schema_name ] . object_name
Określa obiekt, na które przyznane uprawnienie.Zwrot OBJECT jest opcjonalne Jeśli schema_name jest określony. Użycie wyrażenia OBJECT (kwalifikator zakres**::) jest wymagany.Jeśli schema_name nie jest określony, używany jest domyślny schemat. Jeśli schema_name jest określony (kwalifikator zakres schematu.** ) jest wymagany.Aby database_principal < >
Określa główny, do których przyznane uprawnienie.PO WYBRANIU OPCJI DOTACJI
Wskazuje, że główny będzie również miał możliwości, aby udzielić określonych uprawnień do innych głównych.AS database_principal < >
Określa główny, z którego podmiot, wykonywanie kwerendy pochodzi jej po prawej stronie, aby udzielić uprawnień.Database_user
Określa użytkownika bazy danych.Database_role
Określa rola bazy danych.Application_role
Określa rola aplikacji.Database_user_mapped_to_Windows_User
Określa użytkownika bazy danych, zmapowany do użytkownika systemu Windows.Database_user_mapped_to_Windows_Group
Określa użytkownika bazy danych, zmapowany do grupy systemu Windows.Database_user_mapped_to_certificate
Określa mapowany certyfikat użytkownika bazy danych.Database_user_mapped_to_asymmetric_key
Określa użytkownika bazy danych, zmapowany asymetrycznego klucz.Database_user_with_no_login
Określa użytkownika bazy danych nie odpowiedniego serwera-poziom głównych.
Remarks
Important Note: |
---|
Połączenie uprawnień ALTER i REFERENCE w niektórych przypadkach może zezwalać posiadającym je użytkownikom na przeglądanie danych lub wykonywanie nieautoryzowanych funkcji.Na przykład użytkownik A z uprawnieniem ALTER do tabeli i uprawnieniem REFERENCE do funkcji może utworzyć kolumnę obliczaną korzystającą z funkcji i zlecić jej wykonanie.W tym przypadku użytkownik musiałby mieć także uprawnienie SELECT do kolumny obliczanej. |
Informacje dotyczące obiektów jest widoczna w różnych widoki wykazu.Aby uzyskać więcej informacji zobaczObject Catalog Views (Transact-SQL).
Obiekt jest schemat-zabezpieczany zawarty w schemacie, czyli nadrzędnego w hierarchii uprawnień.Określone i najbardziej ograniczone uprawnienia, które mogą być udzielane na obiekcie są wymienione w poniższej tabela, wraz z bardziej ogólnych uprawnień, które je w nim przez domniemanie.
Obiekt, uprawnienie |
Podany przez obiekt, uprawnienie |
Implikowane przez uprawnienia schematu |
---|---|---|
ZMIENIANIE |
FORMANT |
ZMIENIANIE |
FORMANT |
FORMANT |
FORMANT |
USUWANIE |
FORMANT |
USUWANIE |
wykonać |
FORMANT |
wykonać |
Aby wyświetlić właściwości operator plan wykonania |
FORMANT |
Aby wyświetlić właściwości operator plan wykonania |
ODBIERANIE |
FORMANT |
FORMANT |
ODWOŁANIA |
FORMANT |
ODWOŁANIA |
WYBIERZ OPCJĘ |
ODBIERANIE |
WYBIERZ OPCJĘ |
PRZEJMOWANIE NA WŁASNOŚĆ |
FORMANT |
FORMANT |
AKTUALIZACJA |
FORMANT |
AKTUALIZACJA |
REJESTROWANIE ZMIAN W WIDOKU |
FORMANT |
REJESTROWANIE ZMIAN W WIDOKU |
DEFINICJA WIDOKU |
FORMANT |
DEFINICJA WIDOKU |
Uprawnienia
Przekazująca (lub w opcji jako główny) musi mieć uprawnienie do samego siebie z GRANT OPTION lub wyższych uprawnień, które wymaga uprawnień, przyznanie.
Jeśli korzystasz z opcji AS, zastosuj następujące dodatkowe wymagania.
JAK |
Dodatkowe wymagane uprawnienie |
---|---|
Użytkownik bazy danych |
Uprawnienie do PERSONIFIKACJI użytkownika, członkostwa w db_securityadmin stała rola bazy danych, członkostwo w db_owner stała rola bazy danych, lub członkostwo w roli sysadmin stałych serwera. |
Użytkownik bazy danych, zmapowany do identyfikatora logowania systemu Windows |
Uprawnienie do PERSONIFIKACJI użytkownika, członkostwa w db_securityadmin stała rola bazy danych, członkostwo w db_owner stała rola bazy danych, lub członkostwo w roli sysadmin stałych serwera. |
Użytkownik bazy danych, zmapowany do grupy systemu Windows |
Członkostwo w grupie systemu Windows, członkostwo w db_securityadmin stała rola bazy danych, członkostwo w db_owner stała rola bazy danych, lub członkostwo w roli sysadmin stałych serwera. |
Użytkownik bazy danych, zmapowany do certyfikat |
Członkostwo w db_securityadmin stała rola bazy danych, członkostwo w db_owner stała rola bazy danych, lub członkostwo w roli sysadmin stałych serwera. |
Mapowane na kluczu asymetrycznym, który użytkownik bazy danych |
Członkostwo w db_securityadmin stała rola bazy danych, członkostwo w db_owner stała rola bazy danych, lub członkostwo w roli sysadmin stałych serwera. |
Użytkownik bazy danych nie jest mapowane do dowolnego serwera głównego |
Uprawnienie do PERSONIFIKACJI użytkownika, członkostwa w db_securityadmin stała rola bazy danych, członkostwo w db_owner stała rola bazy danych, lub członkostwo w roli sysadmin stałych serwera. |
rola bazy danych |
ALTER uprawnienia roli, członkostwo w roli db_securityadmin stałej bazy danych, członkostwo w roli db_owner stałej bazy danych lub członkostwa w sysadmin stała rola serwera. |
Rola aplikacji |
ALTER uprawnienia roli, członkostwo w roli db_securityadmin stałej bazy danych, członkostwo w roli db_owner stałej bazy danych lub członkostwa w sysadmin stała rola serwera. |
Przykłady
A.Nadawanie uprawnień SELECT na tabela
W poniższym przykładzie udziela SELECT uprawnienia do użytkownika RosaQdM w tabela Person.Address w AdventureWorks Baza danych.
USE AdventureWorks;
GRANT SELECT ON OBJECT::Person.Address TO RosaQdM;
GO
B.Nadawanie uprawnień wykonać na procedura przechowywana
W poniższym przykładzie udziela EXECUTE uprawnienie do przechowywanej procedury HumanResources.uspUpdateEmployeeHireInfo do rola aplikacji o nazwie Recruiting11.
USE AdventureWorks;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
C.Nadawanie uprawnień materiały referencyjne w widoku z GRANT OPTION
W poniższym przykładzie udziela REFERENCES uprawnienie do kolumna EmployeeID w widoku HumanResources.vEmployee do użytkownika Wanida z GRANT OPTION.
USE AdventureWorks;
GRANT REFERENCES (EmployeeID) ON OBJECT::HumanResources.vEmployee
TO Wanida WITH GRANT OPTION;
GO
D.Udzielanie uprawnień SELECT na tabela bez użycia frazę OBJECT
W poniższym przykładzie udziela SELECT uprawnienia do użytkownika RosaQdM w tabela Person.Address w AdventureWorks Baza danych.
USE AdventureWorks;
GRANT SELECT ON Person.Address TO RosaQdM;
GO
E.Nadawanie uprawnień SELECT na tabela do konta domena
W poniższym przykładzie udziela SELECT uprawnienia do użytkownika AdventureWorks\RosaQdM w tabela Person.Address w AdventureWorks Baza danych.
USE AdventureWorks;
GRANT SELECT ON Person.Address TO [AdventureWorks\RosaQdM];
GO
F.Udzielanie uprawnienie wykonać procedury do roli
W następującym przykładzie powoduje utworzenie roli, a następnie udziela EXECUTE uprawnienia do roli w procedurze uspGetBillOfMaterials w AdventureWorks Baza danych.
USE AdventureWorks;
CREATE ROLE newrole ;
GRANT EXECUTE ON dbo.uspGetBillOfMaterials TO newrole ;
GO
Historia zmian
Microsoft Learning |
---|
Poprawiono VIEW OLEDZENIE uprawnienia domyślne. |
Dodano przykłady E i F. |
See Also