Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Запрещает разрешения на член класса OBJECT защищаемых объектов. Элементы класса OBJECT: таблицы, представления, функции с табличным значением, хранимые процедуры, расширенные хранимые процедуры, скалярные функции, агрегатные функции, очереди обслуживания и синонимы.
Соглашения о синтаксисе Transact-SQL
Syntax
DENY <permission> [ ,...n ] ON
[ OBJECT :: ][ schema_name ]. object_name [ ( column [ ,...n ] ) ]
TO <database_principal> [ ,...n ]
[ CASCADE ]
[ AS <database_principal> ]
<permission> ::=
ALL [ PRIVILEGES ] | permission [ ( column [ ,...n ] ) ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Arguments
permission
Обозначает разрешение, которое можно запретить для содержащегося в схеме объекта. Список разрешений см. в подразделе "Примечания" далее в этом разделе.
ALL
Запрет разрешения ALL не запрещает все возможные разрешения. Запрет ALL эквивалентен запрету всех разрешений ANSI-92, применимых к данному объекту. Значение ALL различается для разных типов объектов
- Разрешения на скалярные функции: EXECUTE, REFERENCES.
- Разрешения на возвращающую табличное значение функцию: DELETE, INSERT, REFERENCES, SELECT, UPDATE.
- Разрешения на хранимые процедуры: EXECUTE.
- Разрешения на таблицы: DELETE, INSERT, REFERENCES, SELECT, UPDATE.
- Разрешения на представления: DELETE, INSERT, REFERENCES, SELECT, UPDATE.
PRIVILEGES
Включено для совместимости с ANSI-92. Не изменяет работу ALL.
column
Указывает имя столбца в таблице, представлении или функции с табличным значением, для которых запрещается разрешение. Указание круглых скобок ( ) обязательно. Для столбца можно запрещать только разрешения SELECT, REFERENCES и UPDATE. Аргумент column может быть указан в предложении PERMISSIONS или после имени защищаемого объекта.
Caution
Запрет (DENY) уровня таблицы имеет меньший приоритет, чем разрешение (GRANT) уровня столбца. Такая несогласованность в иерархии разрешений сохранена в целях обратной совместимости. В SQL Server такое поведение отличается, если сервер настроен для выполнения с конфигурацией "Common Criteria Compliance Enabled". Но обычно ее следует использовать с осторожностью, а не во всех случаях.
НА [ ОБЪЕКТ :: ] [ schema_name] .object_name
Указывает объект, для которого запрещается разрешение. Фраза OBJECT необязательна, если указан аргумент schema_name. Если же она указана, указание квалификатора области (::) обязательно. Если не указан аргумент schema_name, подразумевается схема по умолчанию. Если указан аргумент schema_name, обязательно указание квалификатора области схемы (.).
К <database_principal>
Задает участника, для которого запрещается разрешение.
CASCADE
Указывает, что запрещаемое разрешение также запрещается для других участников, которым оно было предоставлено данным участником.
КАК database_principal <>
Задает участника, от которого участник, выполняющий данный запрос, получает право на запрет разрешения.
Database_user
Указывает пользователя базы данных.
Database_role
Указывает роль базы данных.
Application_role
Указывает роль приложения.
Database_user_mapped_to_Windows_User
Указывает пользователя базы данных, сопоставленного с пользователем Windows.
Database_user_mapped_to_Windows_Group
Указывает пользователя базы данных, сопоставленного с группой Windows.
Database_user_mapped_to_certificate
Указывает пользователя базы данных, сопоставленного с сертификатом.
Database_user_mapped_to_asymmetric_key
Указывает пользователя базы данных, сопоставленного с асимметричным ключом.
Database_user_with_no_login
Указывает пользователя базы данных, не сопоставленного с субъектом серверного уровня.
Remarks
Сведения об объектах доступны через различные представления каталога. Дополнительные сведения см. в разделе Представления каталога объектов (Transact-SQL).
Объект является защищаемым на уровне схемы. Он содержится в схеме, которая является его родителем в иерархии разрешений. Наиболее специфичные и ограниченные разрешения, которые можно запретить для объекта, перечислены в следующей таблице вместе с общими разрешениями, неявно содержащими их.
| Разрешение объекта | Содержится в разрешении объекта | Содержится в разрешении схемы |
|---|---|---|
| ALTER | CONTROL | ALTER |
| CONTROL | CONTROL | CONTROL |
| DELETE | CONTROL | DELETE |
| EXECUTE | CONTROL | EXECUTE |
| INSERT | CONTROL | INSERT |
| RECEIVE | CONTROL | CONTROL |
| REFERENCES | CONTROL | REFERENCES |
| SELECT | RECEIVE | SELECT |
| ВОЗЬМИТЕ ОТВЕТСТВЕННОСТЬ | CONTROL | CONTROL |
| UPDATE | CONTROL | UPDATE |
| ПРОСМОТР ИЗМЕНЕНИЙ | CONTROL | ПРОСМОТР ИЗМЕНЕНИЙ |
| ПРЕДСТАВЛЕНИЕ ОПРЕДЕЛЕНИЯ | CONTROL | ПРЕДСТАВЛЕНИЕ ОПРЕДЕЛЕНИЯ |
Permissions
Необходимо разрешение CONTROL для данного объекта.
При использовании предложения AS указанный участник должен быть владельцем объекта, разрешения на который запрещаются для этого участника.
Examples
В следующих примерах используется база данных AdventureWorks.
A. Запрет разрешения SELECT на таблицу
В следующем примере запрещается разрешение SELECT для пользователя RosaQdM на таблицу Person.Address.
DENY SELECT ON OBJECT::Person.Address TO RosaQdM;
GO
B. Запрет разрешения EXECUTE на хранимую процедуру
В следующем примере запрещается разрешение EXECUTE на хранимую процедуру HumanResources.uspUpdateEmployeeHireInfo для роли приложения под названием Recruiting11.
DENY EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
C. Запрет разрешения REFERENCES на представление с CASCADE
В следующем примере запрещается разрешение REFERENCES на столбец BusinessEntityID в представлении HumanResources.vEmployee для пользователя Wanida с CASCADE.
DENY REFERENCES (BusinessEntityID) ON OBJECT::HumanResources.vEmployee
TO Wanida CASCADE;
GO
См. также
GRANT, предоставление разрешений на объект (Transact-SQL)
РАЗРЕШЕНИЯ ОБЪЕКТА REVOKE (Transact-SQL)
Представления каталога объектов (Transact-SQL)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)
Securables
sys.fn_builtin_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)