UDZIELIĆ uprawnień obiektu (Transact-SQL)
Udziela uprawnień do tabela, widoku, tabela-ważnych funkcja, procedura składowana, rozszerzona procedura składowana, wartość skalarnafunkcja,funkcja wartość zagregowana, kolejka usługa lub synonim.
Składnia
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 na obiekcie zawartych w schemacie.Aby uzyskać listę uprawnień Zobacz sekcję Spostrzeżenia w dalszej części tego tematu.ALL
Przyznanie wszystkich nie udziela uprawnienia wszystkich możliwych.Przyznanie wszystkich jest przyznanie wszystkich ANSI-92 uprawnienia mających zastosowanie do określonego obiektu.Znaczenie wszystkich zmienia się następująco:funkcja skalarna uprawnienia: WYKONANIE, ODWOŁUJE.
Uprawnienia oródwierszową funkcja : SELECT, DELETE, INSERT, ODWOŁANIA AKTUALIZACJI.
Uprawnienia procedury przechowywanej: WYKONANIE.
Tabela uprawnienia: SELECT, DELETE, INSERT, ODWOŁANIA AKTUALIZACJI.
Wyświetlanie uprawnień: SELECT, DELETE, INSERT, ODWOŁANIA AKTUALIZACJI.
PRZYWILEJE
Dla ANSI-92 zgodności.Nie zmienia zachowanie wszystkich.column
Określa nazwę kolumna w tabela, widoku lub tabela-wycenione funkcja , w którym przyznana uprawnienie.Nawiasy () są wymagane.Tylko uprawnienia SELECT, odwołania i aktualizacji mogą być przyznawane na kolumna.columnmożna określić uprawnienia klauzula lub po nazwie zabezpieczany .Przestroga
tabela-poziom ODMÓW nie pierwszeństwo kolumna-poziom dotacji.Niezgodność ta hierarchii uprawnień została zabezpieczona dla zgodności z poprzednimi wersjami.
NA [obiektu : ] [ schema_name ] . object_name
Określa obiekt, w którym przyznana uprawnienie.Frazy obiektu jest fakultatywne jeśli schema_name określono.Jeśli fraza obiekt zakres kwalifikator (:) jest wymagany.Jeśli schema_name nie jest określony, używany jest domyślny schemat.Jeśli schema_name jest określony zakresschematukwalifikator ( .) jest wymagany.Aby <database_principal>
Określa główny, do których udzieleniu zezwolenia.Z OPCJĄ DOTACJI
Wskazuje, że główny będzie udzielane również możliwość przyznania określone uprawnienie do innych podmiotów.JAKO <database_principal>
Określa główny, z którego podmiot wykonywanie tej kwerendy uzyskuje swoje prawo, 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 mapowany na użytkownika systemu Windows użytkownik bazy danych.Database_user_mapped_to_Windows_Group
Określa użytkownika bazy danych do grupy systemu Windows.Database_user_mapped_to_certificate
Określa użytkownika bazy danych, mapowane do certyfikat.Database_user_mapped_to_asymmetric_key
Określa użytkownika bazy danych, mapowane do kluczasymetrycznego.Database_user_with_no_login
Określa użytkownika bazy danych nie odpowiedniego serwerapoziom głównych.
Uwagi
![]() |
---|
Kombinacja uprawnień ALTER i ODWOŁANIE w niektórych przypadkach może pozwolić na grantee wyświetlić dane lub wykonać nieautoryzowany funkcji.Na przykład: Użytkownik z ZMIEŃ uprawnienia w tabela i odniesienia dla funkcja można utworzyć kolumna obliczanej za pośrednictwem funkcja i ma ono zostać wykonane.W tym przypadek użytkownik należałoby również uprawnienie SELECT kolumnaobliczanej. |
Informacje o obiektach jest widoczna w różnych widoki wykazu.Aby uzyskać więcej informacji, zobacz Obiekt katalogu widoki (Transact-SQL).
Obiekt jest schemat -poziom zabezpieczany zawartych przez schemat, który jest jego obiektu nadrzędnego w hierarchii uprawnień.Najbardziej szczególnego i ograniczonego uprawnienia, które mogą być przyznawane na obiekt są wymienione w poniższej tabela, wraz z bardziej ogólne uprawnienia, które je zawierają, co za tym idzie.
Uprawnienia obiektu |
Implikowane przez uprawnienia obiektu |
Implikowane przez uprawnienia schematu |
---|---|---|
ZMIEŃ |
FORMANT |
ZMIEŃ |
FORMANT |
FORMANT |
FORMANT |
USUŃ |
FORMANT |
USUŃ |
WYKONANIE |
FORMANT |
WYKONANIE |
WSTAW |
FORMANT |
WSTAW |
ODBIERANIE |
FORMANT |
FORMANT |
ODWOŁANIA |
FORMANT |
ODWOŁANIA |
WYBIERZ |
ODBIERANIE |
WYBIERZ |
PRZEJĘCIE NA WŁASNOŚĆ |
FORMANT |
FORMANT |
AKTUALIZACJA |
FORMANT |
AKTUALIZACJA |
WIDOK ŚLEDZENIA ZMIAN |
FORMANT |
WIDOK ŚLEDZENIA ZMIAN |
DEFINICJA WIDOKU |
FORMANT |
DEFINICJA WIDOKU |
Uprawnienia
Kredytodawca (lub określić z opcją jako główny zobowiązany) musi mieć uprawnienie sam z opcją dotacji lub wyższe uprawnienia, które pociąga za sobą udzielenie zgody.
Jeśli używasz opcji jako stosuje się następujące dodatkowe wymagania.
JAK |
Wymagane dodatkowe uprawnienia. |
---|---|
Użytkownik bazy danych |
Uprawnienie do PERSONIFIKACJI użytkownika członkostwo w db_securityadmin stałej rola bazy danych, członkostwo w db_owner ustalonego w rola bazy danychlub członkostwa w sysadmin stała rola serwera. |
Użytkownik bazy danych, mapowane do identyfikatora logowania systemu Windows |
Uprawnienie do PERSONIFIKACJI użytkownika członkostwo w db_securityadmin stałej rola bazy danych, członkostwo w db_owner ustalonego w rola bazy danychlub członkostwa w sysadmin stała rola serwera. |
Baza danych użytkownika do grupy systemu Windows |
Członkostwo w grupie systemu Windows, członkostwo w db_securityadmin stałej rola bazy danych, członkostwo w db_owner ustalonego w rola bazy danychlub członkostwa w sysadmin stała rola serwera. |
Mapowania certyfikatużytkownika bazy danych |
Członkostwo w db_securityadmin stałej rola bazy danych, członkostwo w db_owner ustalonego w rola bazy danychlub członkostwa w sysadmin stała rola serwera. |
Użytkownik bazy danych, mapowane do kluczasymetrycznego |
Członkostwo w db_securityadmin stałej rola bazy danych, członkostwo w db_owner ustalonego w rola bazy danychlub członkostwa w sysadmin stała rola serwera. |
Użytkownik bazy danych nie są mapowane do dowolnego serwera głównego zobowiązanego |
Uprawnienie do PERSONIFIKACJI użytkownika członkostwo w db_securityadmin stałej rola bazy danych, członkostwo w db_owner ustalonego w rola bazy danychlub członkostwa w sysadmin stała rola serwera. |
Roli bazy danych |
ZMIEŃ uprawnienia roli, członkostwo w db_securityadmin stałej rola bazy danych, członkostwo w db_owner ustalonego w rola bazy danychlub członkostwa w sysadmin stała rola serwera. |
Rola aplikacji |
ZMIEŃ uprawnienia roli, członkostwo w db_securityadmin stałej rola bazy danych, członkostwo w db_owner ustalonego w rola bazy danychlub członkostwa w sysadmin stała rola serwera. |
Przykłady
A.Udzielenie uprawnienia SELECT dla tabela
W przykładzie poniżej SELECT uprawnienia użytkownikowi RosaQdM w tabela Person.Address w AdventureWorks2008R2 bazy danych.
USE AdventureWorks2008R2;
GRANT SELECT ON OBJECT::Person.Address TO RosaQdM;
GO
B.Nadawanie uprawnień do wykonywania procedura składowana
W przykładzie poniżej EXECUTE uprawnienie do procedura składowana HumanResources.uspUpdateEmployeeHireInfo rola aplikacji o nazwie Recruiting11.
USE AdventureWorks2008R2;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
C.Nadawanie uprawnień odwołania w widoku z opcją dotacji
W przykładzie poniżej REFERENCES uprawnień w kolumna BusinessEntityID w widoku HumanResources.vEmployee użytkownikowi Wanida z GRANT OPTION.
USE AdventureWorks2008R2;
GRANT REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee
TO Wanida WITH GRANT OPTION;
GO
D.Przyznanie uprawnienie SELECT tabela bez użycia obiektu frazy
W przykładzie poniżej SELECT uprawnienia użytkownikowi RosaQdM w tabela Person.Address w AdventureWorks2008R2 bazy danych.
USE AdventureWorks2008R2;
GRANT SELECT ON Person.Address TO RosaQdM;
GO
E.Przyznanie uprawnienie SELECT tabela do konta domena
W przykładzie poniżej SELECT uprawnienia użytkownikowi AdventureWorks2008R2\RosaQdM w tabela Person.Address w AdventureWorks2008R2 bazy danych.
USE AdventureWorks2008R2;
GRANT SELECT ON Person.Address TO [AdventureWorks2008R2\RosaQdM];
GO
F.Nadawanie uprawnień do wykonywania procedury do roli
Poniższy przykład tworzy roli, a następnie udziela EXECUTE uprawnień do roli w sprawie procedury uspGetBillOfMaterials w AdventureWorks2008R2 bazy danych.
USE AdventureWorks2008R2;
CREATE ROLE newrole ;
GRANT EXECUTE ON dbo.uspGetBillOfMaterials TO newrole ;
GO
Zobacz także