Поделиться через


sp_column_privileges_ex (Transact-SQL)

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

Значок ссылки на разделСоглашения о синтаксисе в 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 2005 этот столбец представляет собой имя базы данных. В некоторых программах он представляет имя сервера среды баз данных таблицы. Это поле может иметь значение 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 может обеспечивать данные для этого столбца, когда вставляются новые строки (данным GRANTEE) в таблицу.

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

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

IS_GRANTABLE

varchar(3)

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

Разрешения

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

Примеры

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

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

См. также

Справочник

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

Справка и поддержка

Получение помощи по SQL Server 2005