Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Запрещает разрешения для системных объектов, например хранимых процедур, расширенных хранимых процедур, функций и представлений.
Соглашения о синтаксисе Transact-SQL
Syntax
DENY { SELECT | EXECUTE } ON [ sys. ] system_object TO principal
Arguments
[ sys. ]
Квалификатор sys требуется только в том случае, если вы ссылаетесь на представления каталога и динамические административные представления.
system_object
Указывает объект, для которого запрещается разрешение.
principal
Задает участника, у которого отменяется разрешение.
Remarks
Эту инструкцию можно использовать для запрета разрешений для определенных хранимых процедур, расширенных хранимых процедур, табличных функций, скалярных функций, представлений каталога, представлений совместимости, INFORMATION_SCHEMA представлений, динамических административных представлений и системных таблиц, установленных SQL Server. Каждый из этих системных объектов существует как уникальная запись в базе данных ресурсов (mssqlsystemresource). Она доступна только для чтения. Ссылка на объект предоставляется в виде записи в схеме sys каждой базы данных.
Разрешение имен по умолчанию устраняет проблему неправомочных имен процедур в базе данных ресурсов.
sys Поэтому квалификатор требуется только при указании представлений каталога и динамических административных представлений.
Caution
Запрет разрешений на системные объекты приводит к сбою приложений, зависящих от них. СРЕДА SQL Server Management Studio использует представления каталога и может не работать должным образом, если изменить разрешения по умолчанию для представлений каталога.
Запрет разрешений на триггеры и столбцы системных объектов не поддерживается.
Разрешения на системные объекты сохраняются во время обновления SQL Server.
Системные объекты отображаются в представлении каталога sys.system_objects. Разрешения на системные объекты отображаются в представлении каталога sys.database_permissions в master базе данных.
В результате выполнения следующего запроса извлекаются данные о разрешениях на доступ к системным объектам:
SELECT *
FROM master.sys.database_permissions AS dp
INNER JOIN sys.system_objects AS so
ON dp.major_id = so.object_id
WHERE dp.class = 1
AND so.parent_object_id = 0;
GO
Permissions
Требуется разрешение CONTROL SERVER.
Examples
В следующем примере запрещено EXECUTE разрешение xp_cmdshell на доступ к общедоступному доступу.
DENY EXECUTE ON sys.xp_cmdshell TO PUBLIC;
GO