sp_table_privileges_ex (Transact-SQL)
Область применения: SQL Server
Возвращает данные о правах доступа для указанной таблицы из указанного связанного сервера.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_table_privileges_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
Аргументы
[ @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
.
[ @fUsePattern = ] fUsePattern
Определяет, интерпретируются ли символы _
, %
[
и ]
интерпретируются ли они как подстановочные знаки. Допустимые значения: 0
(сопоставление шаблонов отключено) и 1
(сопоставление шаблонов включено). @fUsePattern бит с значением по умолчанию1
.
Значения кода возврата
Нет.
Результирующий набор
Имя столбца | Тип данных | Description |
---|---|---|
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 которому владелец базы данных предоставил разрешение с помощью WITH GRANT OPTION предложения в инструкцииGRANT .TABLE_OWNER |
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 значение относится к источнику данных, в котором "предоставление с предоставлением" неприменимо. |
Замечания
Возвращаемые результаты упорядочены по TABLE_QUALIFIER
, TABLE_OWNER
и TABLE_NAME
PRIVILEGE
.
Разрешения
Требуется SELECT
разрешение на схему.
Примеры
В следующем примере возвращаются сведения о правах доступа для таблиц с именами, начинающимися на Product
, в базе данных AdventureWorks2022
из указанного связанного сервера Seattle1
. SQL Server предполагается как связанный сервер.
EXEC sp_table_privileges_ex @table_server = 'Seattle1',
@table_name = 'Product%',
@table_schema = 'Production',
@table_catalog ='AdventureWorks2022';