Udostępnij za pośrednictwem


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.

Topic link iconKonwencje składni języka Transact-SQL

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 noteImportant 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.