REVOKE, отмена разрешения на системные объекты (Transact-SQL)
Отменяет для участника разрешения на системные объекты (например, хранимые процедуры, расширенные хранимые процедуры, функции и представления).
Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии). |
Cинтаксические обозначения в 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)