Поделиться через


REVOKE, отмена разрешения на системные объекты (Transact-SQL)

Отменяет для участника разрешения на системные объекты (например, хранимые процедуры, расширенные хранимые процедуры, функции и представления).

Значок ссылки на раздел Синтаксические обозначения в Transact-SQL

Синтаксис

REVOKE { SELECT | EXECUTE } ON [sys.]system_object FROM principal 

Аргументы

  • [sys.] .
    Квалификатор sys требуется только тогда, когда имеется ссылка на представления каталога и динамические административные представления.

  • system_object
    Задает объект, для которого отменяется разрешение.

  • principal
    Задает участника, у которого отменяется разрешение.

Замечания

Эта инструкция предназначена для отмены разрешений на хранимые процедуры, расширенные хранимые процедуры, функции с табличным значением и скалярные функции, представления, представления каталога, представления совместимости, представления INFORMATION_SCHEMA, динамические административные представления и системные таблицы, которые устанавливаются в составе SQL Server. Каждый из этих системных объектов существует в виде уникальной записи в базе данных ресурсов (mssqlsystemresource), которая доступна только для чтения. Ссылка на объект представлена в виде записи в схеме sys каждой базы данных.

Разрешение имен по умолчанию устраняет проблему неполных имен процедур в базе данных ресурсов. Поэтому квалификатор sys. требуется только при указании представлений каталога или динамических административных представлений.

ПредупреждениеВнимание!

Вызов разрешений в системных объектах вызовет ошибки в зависящих от них приложениях. В Среда SQL Server Management Studio используются представления каталогов, и нормальная работа может быть нарушена, если изменить разрешения по умолчанию для представлений каталогов.

Отмена разрешений на триггеры и столбцы системных объектов не поддерживается.

При обновлении SQL Server разрешения на доступ к системным объектам сохраняются.

Системные объекты отображаются в представлении каталога sys.system_objects.

Разрешения

Требует разрешения CONTROL SERVER.

Примеры

В следующем примере производится отмена разрешения EXECUTE на процедуру sp_addlinkedserver у роли public.

REVOKE EXECUTE ON sys.sp_addlinkedserver FROM public;
GO

См. также

Справочник

sys.system_objects (Transact-SQL)

sys.database_permissions (Transact-SQL)

GRANT, предоставление разрешения на системный объект (Transact-SQL)

DENY, запрет разрешений на системные объекты (Transact-SQL)