Udostępnij za pomocą


sp_column_privileges_ex (Transact-SQL)

Dotyczy:SQL Server

Zwraca uprawnienia kolumnowe dla określonej tabeli na określonym serwerze połączonym.

Transact-SQL konwencje składni

Składnia

sp_column_privileges_ex
    [ @table_server = ] N'table_server'
    [ , [ @table_name = ] N'table_name' ]
    [ , [ @table_schema = ] N'table_schema' ]
    [ , [ @table_catalog = ] N'table_catalog' ]
    [ , [ @column_name = ] N'column_name' ]
[ ; ]

Arguments

[ @table_server = ] N'table_server'

Nazwa powiązanego serwera, dla którego zwraca się informacja. @table_server to sysname, bez domyślnego ustawienia.

[ @table_name = ] N'table_name'

Nazwa tabeli zawierającej określoną kolumnę. @table_name to nazwa systemu, z domyślnym .NULL

[ @table_schema = ] N'table_schema'

Schemat tabeli. @table_schema to nazwa systemu z domyślnym .NULL

[ @table_catalog = ] N'table_catalog'

Nazwa bazy danych, w której znajduje się określony @table_name . @table_catalog to nazwa systemu, z domyślnym .NULL

[ @column_name = ] N'column_name'

Nazwa kolumny, dla której należy podać informacje o uprawnieniach. @column_name to nazwa systemu, z domyślnym ( NULL all common).

Zestaw wyników

Poniższa tabela przedstawia kolumny zestawu wyników. Wyniki zwracane są uporządkowane według TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME, oraz PRIVILEGE.

Nazwa kolumny Typ danych Description
TABLE_CAT sysname Nazwa kwalifikatora tabeli. Różne produkty DBMS obsługują trzyczęściowe nazewnictwo tabel (<qualifier>.<owner>.<name>). W SQL Server ta kolumna oznacza nazwę bazy danych. W niektórych produktach reprezentuje nazwę serwera środowiska bazodanowego tabeli. To ciało może być .NULL
TABLE_SCHEM sysname Nazwisko właściciela stołu. W SQL Server ta kolumna reprezentuje nazwę użytkownika bazy danych, który stworzył tabelę. To pole zawsze zwraca wartość.
TABLE_NAME sysname Nazwa tabeli. To pole zawsze zwraca wartość.
COLUMN_NAME sysname Nazwa kolumny, dla każdej kolumny zwróconej kolumny TABLE_NAME . To pole zawsze zwraca wartość.
GRANTOR sysname Nazwa użytkownika bazy danych, która otrzymała uprawnienia do tego COLUMN_NAME do wymienionych GRANTEE. W SQL Serverze ta kolumna jest zawsze taka sama jak .TABLE_OWNER To pole zawsze zwraca wartość.

Kolumną GRANTOR może być właściciel bazy danych (TABLE_OWNER) lub osoba, której właściciel bazy danych przyznał uprawnienia, używając klauzuli zawartej WITH GRANT OPTION w GRANT instrukcji.
GRANTEE sysname Nazwa użytkownika bazy danych, której przyznano uprawnienia do tego COLUMN_NAME przez wymienione .GRANTOR To pole zawsze zwraca wartość.
PRIVILEGE varchar(32) Jedno z dostępnych uprawnień kolumn. Uprawnienia kolumnowe mogą być jedną z następujących wartości (lub innymi wartościami wspieranymi przez źródło danych podczas definiowania implementacji):

SELECT = GRANTEE może pobierać dane dla kolumn.
INSERT = GRANTEE może dostarczać dane dla tej kolumny, gdy nowe wiersze są wstawiane (przez GRANTEE) do tabeli.
UPDATE = GRANTEE może modyfikować istniejące dane w kolumnie.
REFERENCES = GRANTEE może odnosić się do kolumny w tabeli obcej w zależności klucz główny/klucz obcy. Relacje klucza głównego/klucza obcego są definiowane z użyciem ograniczeń tabelowych.
IS_GRANTABLE varchar(3) Wskazuje, czy ma GRANTEE prawo do przyznawania uprawnień innym użytkownikom (często nazywanych uprawnieniami "grant with grant"). Może być TAK, NIE lub NULL. Wartość nieznana, czyli NULL, odnosi się do źródła danych, w którym "grant with grant" nie ma zastosowania.

Permissions

Wymaga SELECT zgody na schemat.

Przykłady

Poniższy przykład zwraca informacje o uprawnieniach kolumn dla tabeli HumanResources.Department w bazie AdventureWorks2025 danych na połączonym serwerze Seattle1 .

EXECUTE sp_column_privileges_ex
    @table_server = 'Seattle1',
    @table_name = 'Department',
    @table_schema = 'HumanResources',
    @table_catalog = 'AdventureWorks2022';