sp_column_privileges_ex (Transact-SQL)

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

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Синтаксические обозначения в 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 и PRIVILEGE.

Имя столбца

Тип данных

Описание

TABLE_CAT

sysname

Имя квалификатора таблицы. Различные продукты СУБД поддерживают трехкомпонентные имена таблиц (qualifier.owner.name). В 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.

GRANTEE

sysname

Имя пользователя базы данных, которому предоставили разрешения на доступ к COLUMN_NAME владельцы объектов, перечисленные в столбце GRANTOR. Это поле всегда возвращает значение.

PRIVILEGE

varchar(32)

Одно из доступных разрешений на доступ к столбцу. Разрешениями для столбца может быть одно из следующих значений (или другие значения, поддерживаемые источником данных для определенных реализаций):

SELECT = пользователь GRANTEE может получать данные для столбцов;

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

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

REFERENCES = GRANTEE может ссылаться на столбец внешней таблицы связи первичный ключ или внешний ключ. Связи первичного ключа и внешнего ключа определяются с ограничениями таблицы.

IS_GRANTABLE

varchar(3)

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

Разрешения

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

Примеры

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

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

См. также

Справочник

sp_table_privileges_ex (Transact-SQL)

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