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_NAMEPRIVILEGE.

Разрешения

Требуется SELECT разрешение на схему.

Примеры

В следующем примере возвращаются сведения о правах доступа для таблиц с именами, начинающимися на Product, в базе данных AdventureWorks2022 из указанного связанного сервера Seattle1. SQL Server предполагается как связанный сервер.

EXEC sp_table_privileges_ex @table_server = 'Seattle1',
    @table_name = 'Product%',
    @table_schema = 'Production',
    @table_catalog ='AdventureWorks2022';