sp_column_privileges_ex (Transact-SQL)

Применимо к:SQL Server

Возвращает права доступа столбца для указанной таблицы на указанном связанном сервере.

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

[ @table_server = ] 'table_server' Имя связанного сервера, для которого возвращаются сведения. table_server — sysname без значения по умолчанию.

[ @table_name = ] 'table_name' Имя таблицы, содержащей указанный столбец. table_name — sysname с значением NULL по умолчанию.

[ @table_schema = ] 'table_schema' Схема таблицы. table_schema — sysname с значением NULL по умолчанию.

[ @table_catalog = ] 'table_catalog' Имя базы данных, в которой находится указанный table_name . table_catalog — sysname с значением NULL по умолчанию.

[ @column_name = ] 'column_name' Имя столбца, для которого предоставляются сведения о привилегиях. column_name имеет имя sysname с значением NULL по умолчанию (все распространенные).

Результирующие наборы

Следующая таблица показывает столбцы результирующего набора. Возвращаемые результаты упорядочены по TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME, COLUMN_NAME и ПРИВИЛЕГИЯм.

Имя столбца Тип данных Описание:
TABLE_CAT sysname Имя квалификатора таблицы. Различные продукты СУБД поддерживают трехкомпонентное именование таблиц (квалификатор).владелец.имя). В SQL Server этот столбец представляет имя базы данных. В некоторых СУБД он представляет имя сервера в среде базы данных, где находится таблица. Это поле может иметь значение NULL.
TABLE_SCHEM sysname Имя владельца таблицы. В SQL Server этот столбец представляет имя пользователя базы данных, создавшего таблицу. Это поле всегда возвращает значение.
TABLE_NAME sysname Имя таблицы. Это поле всегда возвращает значение.
COLUMN_NAME sysname Имя столбца для каждого столбца возвращаемого TABLE_NAME . Это поле всегда возвращает значение.
GRANTOR sysname Имя пользователя базы данных, которое предоставило разрешения на этот COLUMN_NAME указанному участнику GRANTEE. В SQL Server этот столбец всегда совпадает с TABLE_OWNER. Это поле всегда возвращает значение.

Столбец GRANTOR может быть владельцем базы данных (TABLE_OWNER) или кем-то, кому владелец базы данных предоставил разрешения с помощью предложения WITH GRANT OPTION в инструкции GRANT.
УЧАСТНИКУ sysname Имя пользователя базы данных, которое было предоставлено разрешения на этот COLUMN_NAME перечисленным GRANTOR. Это поле всегда возвращает значение.
ПРИВИЛЕГИЯ varchar(32) Одно из доступных разрешений на доступ к столбцу. Разрешениями для столбца может быть одно из следующих значений (или другие значения, поддерживаемые источником данных для определенных реализаций):

SELECT = GRANTEE может извлекать данные для столбцов.

INSERT = GRANTEE может предоставлять данные для этого столбца при вставке новых строк (с помощью GRANTEE) в таблицу.

UPDATE = GRANTEE может изменять существующие данные в столбце.

REFERENCES = GRANTEE может ссылаться на столбец во внешней таблице в связи первичного ключа или внешнего ключа. Связи первичного ключа и внешнего ключа определяются с ограничениями таблицы.
IS_GRANTABLE varchar(3) Указывает, разрешено ли GRANTEE предоставлять разрешения другим пользователям (часто называют разрешением grant with grant). Может иметь значение YES, NO или NULL. Неизвестные значения или значения NULL относятся к источникам данных, где неприменимо использование разрешения «право передачи».

Разрешения

Необходимо разрешение SELECT для схемы.

Примеры

Следующий пример возвращает сведения о правах доступа столбца для таблицы HumanResources.Department в базе данных AdventureWorks2022 на связанном сервере Seattle1.

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

См. также

sp_table_privileges_ex (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)