Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server Управляемый экземпляр SQL Azure
Запрещает разрешения, предоставленные при входе SQL Server.
Соглашения о синтаксисе Transact-SQL
Синтаксис
DENY permission [ ,...n ] }
ON
{ [ LOGIN :: SQL_Server_login ]
| [ SERVER ROLE :: server_role ] }
TO <server_principal> [ ,...n ]
[ CASCADE ]
[ AS SQL_Server_login ]
<server_principal> ::=
SQL_Server_login
| SQL_Server_login_from_Windows_login
| SQL_Server_login_from_certificate
| SQL_Server_login_from_AsymKey
| server_role
Аргументы
permission
Указывает разрешение, которое может быть отказано в имени входа SQL Server. Список разрешений см. в подразделе "Примечания" далее в этом разделе.
LOGIN
::SQL_Server_login
Указывает имя входа SQL Server, для которого запрещено разрешение. Квалификатор области (::) является обязательным.
SERVER ROLE
::server_role
Указывает роль сервера, для которой запрещается разрешение. Квалификатор области (::) является обязательным.
К server_principal <>
Указывает роль входа ИЛИ сервера SQL Server, которой предоставляется разрешение.
К SQL_Server_login
Указывает имя входа SQL Server, которому запрещено разрешение.
SQL_Server_login
Указывает имя имени входа SQL Server.
SQL_Server_login_from_Windows_login
Указывает имя имени входа SQL Server, созданного из имени входа Windows.
SQL_Server_login_from_certificate
Указывает имя имени входа SQL Server, сопоставленного с сертификатом.
SQL_Server_login_from_AsymKey
Указывает имя имени входа SQL Server, сопоставленного с асимметричным ключом.
server_role
Название определения роли сервера.
CASCADE
Указывает, что запрещаемое разрешение также запрещается для других участников, которым оно было предоставлено данным участником.
КАК SQL_Server_login
Указывает имя входа SQL Server, из которого субъект, выполняющий этот запрос, получает право запретить разрешение.
Замечания
Разрешения в области сервера могут запрещаться только в том случае, если текущей базой данных является master.
Данные о разрешениях сервера отображаются в представлении каталога sys.server_permissions. Данные о серверах-субъектах отображаются в представлении каталога sys.server_principals.
Заявление DENY не работает, если CASCADE не указано, когда вы отказываете в разрешении принципалу, которому это разрешение было предоставлено с GRANT помощью OPTION.
Имена входа SQL Server и роли сервера являются защищаемыми на уровне сервера. Наиболее конкретные и ограниченные разрешения, которые могут быть отклонены в роли входа SQL Server или сервера, перечислены в следующей таблице вместе с более общими разрешениями, которые включают их в результате.
| Разрешение для имени входа SQL Server или роли сервера | Содержится в разрешении для имени входа SQL Server или роли сервера | Подразумевается в разрешении сервера |
|---|---|---|
| ПРОИЗВОДИТЕЛЬНОСТИ | ПРОИЗВОДИТЕЛЬНОСТИ | сервер управления |
| IMPERSONATE | ПРОИЗВОДИТЕЛЬНОСТИ | сервер управления |
| VIEW ОПРЕДЕЛЕНИЕ | ПРОИЗВОДИТЕЛЬНОСТИ | VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ |
| ИЗМЕНИТЬ | ПРОИЗВОДИТЕЛЬНОСТИ | ИЗМЕНЕНИЕ ЛЮБОГО LOGIN ИЗМЕНЕНИЕ ЛЮБОГО SERVER ROLE |
Разрешения
Для входа требуется разрешение CONTROL при входе или ИЗМЕНЕНИЕ ЛЮБОГО LOGIN разрешения на сервере.
Для серверных ролей требуется разрешение CONTROL на серверную роль или ИЗМЕНЕНИЕ ЛЮБЫХ SERVER ROLE разрешений на сервере.
Примеры
А. Запрещение разрешения IMPERSONATE на имя входа
В следующем примере запрещено IMPERSONATE разрешение на вход SQL Server в имя входа WanidaBenshoof SQL Server, созданное пользователем Windows AdvWorks\YoonM.
USE master;
DENY IMPERSONATE ON LOGIN::WanidaBenshoof TO [AdvWorks\YoonM];
GO
B. Отказ VIEW в разрешении DEFINITION с помощью CASCADE
В следующем примере запрещено VIEW DEFINITION разрешение на вход SQL Server в имя входа EricKurjanRMeyyappanSQL Server. Параметр CASCADE указывает, что разрешение VIEW DEFINITION на EricKurjan будет также запрещено участникам, которым RMeyyappan его предоставил ранее.
USE master;
DENY VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan
CASCADE;
GO
В. Отказ VIEW в разрешении DEFINITION для роли сервера
В следующем примере разрешение VIEW DEFINITION для роли сервера Sales запрещается для роли сервера Auditors.
USE master;
DENY VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;
GO
Связанные материалы
- sys.server_principals (Transact-SQL)
- sys.server_permissions (Transact-SQL)
- GRANT Разрешения учетной записи уровня сервера (Transact-SQL)
- REVOKE Разрешения учетной записи уровня сервера (Transact-SQL)
- CREATE LOGIN (Transact-SQL)
- Субъекты (ядро СУБД)
- Разрешения (ядро СУБД)
- Функция безопасности (Transact-SQL)
- Хранимые процедуры безопасности (Transact-SQL)