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)