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


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

Область применения: SQL Server Управляемый экземпляр SQL Azure

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

Соглашения о синтаксисе 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 System Object Permissions (Transact-SQL)
DENY System Object Permissions (Transact-SQL)