Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Возвращает список разрешений таблицы (напримерINSERT, , DELETEUPDATE, SELECT) REFERENCESдля указанной таблицы или таблиц.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_table_privileges
[ @table_name = ] N'table_name'
[ , [ @table_owner = ] N'table_owner' ]
[ , [ @table_qualifier = ] N'table_qualifier' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
[ @table_name = ] N'table_name'
Таблица, используемая для возврата сведений о каталоге. @table_name — nvarchar(384), без значения по умолчанию. Поиск совпадений по шаблону поддерживается.
[ @table_owner = ] N'table_owner'
Владелец таблицы, используемой для возврата сведений о каталоге.
@table_owner — nvarchar(384) с значением по умолчаниюNULL. Поиск совпадений по шаблону поддерживается. Если владелец не указан, применяются правила видимости таблицы по умолчанию для базовых СУБД.
Если текущий пользователь является владельцем таблицы с указанным именем, возвращаются столбцы этой таблицы. Если владелец не указан, а текущий пользователь не владеет таблицей с указанным именем, эта процедура ищет таблицу с указанным table_name владельцем базы данных. Если такая таблица существует, возвращаются ее столбцы.
[ @table_qualifier = ] N'table_qualifier'
Имя квалификатора таблицы.
@table_qualifier имеет имя sysname с значением по умолчаниюNULL. Различные продукты СУБД поддерживают трехкомпонентное именование таблиц (qualifier.owner.name). В SQL Server этот столбец представляет имя базы данных. В некоторых СУБД он представляет имя сервера в среде базы данных, где находится таблица.
[ @fUsePattern = ] fUsePattern
Определяет, интерпретируются ли символы подчеркивания (_), процента () и скобки (%[или]) как подстановочные знаки. Допустимые значения: 0 (сопоставление шаблонов отключено) и 1 (сопоставление шаблонов включено).
@fUsePattern бит с значением по умолчанию1.
Значения кода возврата
Нет.
Результирующий набор
| Имя столбца | Тип данных | Description |
|---|---|---|
TABLE_QUALIFIER |
sysname | Имя квалификатора таблицы. В SQL Server этот столбец представляет имя базы данных. Это поле может быть NULL. |
TABLE_OWNER |
sysname | Имя владельца таблицы. Это поле всегда возвращает значение. |
TABLE_NAME |
sysname | Имя таблицы. Это поле всегда возвращает значение. |
GRANTOR |
sysname | Имя пользователя базы данных, которому предоставлены разрешения для указанного TABLE_NAMEGRANTEEсписка. В SQL Server этот столбец всегда совпадает с столбцом TABLE_OWNER. Это поле всегда возвращает значение. Кроме того, столбец GRANTOR может быть владельцем базы данных (TABLE_OWNER) или пользователем, которому владелец базы данных предоставил разрешение с помощью WITH GRANT OPTION предложения в инструкции GRANT . |
GRANTEE |
sysname | Имя пользователя базы данных, которое было предоставлено разрешения на это TABLE_NAME перечисленным GRANTOR. В SQL Server этот столбец всегда включает пользователя базы данных из sys.database_principalssystem представления. Это поле всегда возвращает значение. |
PRIVILEGE |
sysname | Одно из доступных разрешений на таблицу. Разрешения на таблицу могут быть одним из следующих значений (или другими значениями, поддерживаемыми источником данных, если определена реализация).SELECT
=
GRANTEE может получить данные для одного или нескольких столбцов.INSERT
=
GRANTEE может предоставлять данные для новых строк для одного или нескольких столбцов.UPDATE
=
GRANTEE может изменять существующие данные для одного или нескольких столбцов.DELETE
=
GRANTEE может удалить строки из таблицы.REFERENCES
=
GRANTEE может ссылаться на столбец во внешней таблице в связи первичного ключа или внешнего ключа. В SQL Server связи первичного ключа и внешнего ключа определяются с ограничениями таблицы.Область действия, заданного GRANTEE заданным привилегией таблицы, зависит от источника данных. Например, привилегия UPDATE может позволить GRANTEE обновить все столбцы таблицы в одном источнике данных и только те столбцы, для которых GRANTOR есть UPDATE привилегии для другого источника данных. |
IS_GRANTABLE |
sysname | Указывает, разрешено ли GRANTEE предоставлять разрешения другим пользователям (часто называемым "предоставлением с разрешением"). Возможные значения: YES, NO или NULL. Неизвестное (или NULL) значение ссылается на источник данных, для которого "предоставление с предоставлением" неприменимо. |
Замечания
Хранимая sp_table_privileges процедура эквивалентна SQLTablePrivileges ODBC. Возвращаемые результаты упорядочены по TABLE_QUALIFIER, TABLE_OWNERи TABLE_NAMEPRIVILEGE.
Разрешения
Требуется SELECT разрешение на схему.
Примеры
Следующий код возвращает сведения о правах доступа, связанных со всеми таблицами, имена которых начинаются на Contact.
USE AdventureWorks2022;
GO
EXECUTE sp_table_privileges @table_name = 'Contact%';