sp_column_privileges_ex (Transact-SQL)
Область применения: SQL Server
Возвращает права доступа столбца для указанной таблицы на указанном связанном сервере.
Соглашения о синтаксисе Transact-SQL
Синтаксис
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' ]
[ ; ]
Аргументы
[ @table_server = ] N'table_server'
Имя связанного сервера, для которого возвращаются сведения. @table_server — sysname без значения по умолчанию.
[ @table_name = ] N'table_name'
Имя таблицы, содержащей указанный столбец. @table_name — sysname с значением по умолчаниюNULL
.
[ @table_schema = ] N'table_schema'
Схема таблицы. @table_schema имеет имя sysname с значением по умолчаниюNULL
.
[ @table_catalog = ] N'table_catalog'
Имя базы данных, в которой находится указанный @table_name . @table_catalog — sysname с значением по умолчаниюNULL
.
[ @column_name = ] N'column_name'
Имя столбца, для которого предоставляются сведения о привилегиях. @column_name — это sysname, значение по умолчанию NULL
(все распространенные).
Результирующий набор
Следующая таблица показывает столбцы результирующего набора. Возвращаемые результаты упорядочены по TABLE_QUALIFIER
, TABLE_OWNER
, TABLE_NAME
и COLUMN_NAME
PRIVILEGE
.
Имя столбца | Тип данных | Description |
---|---|---|
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 может предоставлять данные для этого столбца, когда новые строки вставляются (в GRANTEE таблицу).UPDATE = GRANTEE может изменять существующие данные в столбце.REFERENCES = GRANTEE может ссылаться на столбец во внешней таблице в связи первичного ключа или внешнего ключа. Связи первичного ключа и внешнего ключа определяются с ограничениями таблицы. |
IS_GRANTABLE |
varchar(3) | Указывает, разрешено ли GRANTEE предоставлять разрешения другим пользователям (часто называемым "предоставлением с разрешением"). Может быть ДА, НЕТ или NULL . Неизвестное значение или NULL значение относится к источнику данных, где "предоставление с предоставлением" неприменимо. |
Разрешения
Требуется SELECT
разрешение на схему.
Примеры
Следующий пример возвращает сведения о правах доступа столбца для таблицы HumanResources.Department
в базе данных AdventureWorks2022
на связанном сервере Seattle1
.
EXEC sp_column_privileges_ex
@table_server = 'Seattle1',
@table_name = 'Department',
@table_schema = 'HumanResources',
@table_catalog = 'AdventureWorks2022';