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.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

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 .

    PrzestrogaPrzestroga

    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

Ważna informacjaWażne:

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