sp_table_privileges_ex (Transact-SQL)
Возвращает данные о правах доступа для указанной таблицы из указанного связанного сервера.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
sp_table_privileges_ex [ @table_server = ] 'table_server'
[ , [ @table_name = ] 'table_name' ]
[ , [ @table_schema = ] 'table_schema' ]
[ , [ @table_catalog = ] 'table_catalog' ]
[ , [@fUsePattern =] 'fUsePattern']
Аргументы
[ @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.[ @fUsePattern = ] 'fUsePattern'
Определяет, следует ли рассматривать символы «_», «%», «[» и «]» как символы-шаблоны. Допустимые значения: 0 (сопоставление с шаблоном отключено) и 1 (сопоставление с шаблоном включено). Аргумент fUsePattern имеет тип bit и значение по умолчанию 1.
Значения кода возврата
Нет
Результирующие наборы
Имя столбца |
Тип данных |
Описание |
---|---|---|
TABLE_CAT |
sysname |
Имя квалификатора таблицы. Различные продукты СУБД поддерживают трехкомпонентные имена таблиц (qualifier.owner.name). В SQL Server этот столбец представляет имя базы данных. В некоторых продуктах он представляет имя сервера среды базы данных таблицы. Это поле может иметь значение NULL. |
TABLE_SCHEM |
sysname |
Имя владельца таблицы. В SQL Server этот столбец представляет имя пользователя базы данных, создавшего таблицу. Это поле всегда возвращает значение. |
TABLE_NAME |
sysname |
Имя таблицы. Это поле всегда возвращает значение. |
GRANTOR |
sysname |
Имя пользователя базы данных, предоставившего разрешения на таблицу TABLE_NAME указанному пользователю GRANTEE. В SQL Server этот столбец всегда совпадает с владельцем TABLE_OWNER. Это поле всегда возвращает значение. Столбец GRANTOR может соответствовать или владельцу базы данных (TABLE_OWNER), или пользователю, которому владелец базы данных предоставил разрешение с помощью предложения WITH GRANT OPTION инструкции GRANT. |
GRANTEE |
sysname |
Имя пользователя базы данных, которому предоставлены разрешения на таблицу TABLE_NAME указанным пользователем GRANTOR. Это поле всегда возвращает значение. |
PRIVILEGE |
varchar(32) |
Одно из доступных разрешений на таблицу. Разрешения на таблицу могут быть одним из следующих значений или другими значениями, поддерживаемыми источником данных, если определена реализация. SELECT = GRANTEE — может получать данные для одного или нескольких столбцов. INSERT = GRANTEE — может предоставлять данные для новых строк для одного или нескольких столбцов. UPDATE = GRANTEE — может изменять существующие данные для одного или нескольких столбцов. DELETE = GRANTEE — может удалять строки из таблицы. REFERENCES = GRANTEE — может ссылаться на столбец во внешней таблице в связи «первичный ключ/внешний ключ». В SQL Server связи «первичный-внешний ключ» определяются с помощью ограничений таблицы. Область действий, предоставляемая пользователю GRANTEE указанным правом доступа к таблице, зависит от источника данных. Например, разрешение UPDATE может позволить пользователю GRANTEE обновить все столбцы в таблице в одном источнике данных, а в другом источнике данных только столбцы, для которых пользователь GRANTOR имеет разрешение UPDATE. |
IS_GRANTABLE |
varchar(3) |
Указывает, имеет ли пользователь GRANTEE право предоставлять разрешения другим пользователям. Часто это называется разрешение «grant with grant». Может иметь значение YES, NO или NULL. Неизвестное значение (или NULL) свидетельствует о том, что разрешение «grant with grant» к источнику данных неприменимо. |
Замечания
Возвращенные результаты упорядочиваются по столбцам TABLE_QUALIFIER, TABLE_OWNER, TABLE_NAME и PRIVILEGE.
Разрешения
Необходимо разрешение SELECT на схему.
Примеры
В следующем примере возвращаются сведения о правах доступа для таблиц с именами, начинающимися на Product, в базе данных AdventureWorks2012 из указанного связанного сервера Seattle1. (SQL Server считается связанным сервером.)
EXEC sp_table_privileges_ex @table_server = 'Seattle1',
@table_name = 'Product%',
@table_schema = 'Production',
@table_catalog ='AdventureWorks2012';
См. также
Справочник
sp_column_privileges_ex (Transact-SQL)