DENY 서버 사용 권한(Transact-SQL)
서버에 대한 사용 권한을 거부합니다.
구문
DENY permission [ ,...n ]
TO <grantee_principal> [ ,...n ]
[ CASCADE ]
[ AS <grantor_principal> ]
<grantee_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
<grantor_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
인수
permission
서버에 대해 거부할 수 있는 사용 권한을 지정합니다. 사용 권한 목록은 이 항목의 뒤에 나오는 주의 섹션을 참조하십시오.CASCADE
사용 권한이 거부된 보안 주체에게 사용 권한을 부여 받은 다른 보안 주체의 사용 권한도 거부됨을 나타냅니다.TO <server_principal>
사용 권한이 거부된 보안 주체를 지정합니다.AS <grantor_principal>
이 쿼리를 실행하는 보안 주체가 사용 권한을 거부하는 권한을 부여할 수 있는 다른 보안 주체를 지정합니다.SQL_Server_login
SQL Server 로그인을 지정합니다.SQL_Server_login_mapped_to_Windows_login
Windows 로그인으로 매핑된 SQL Server 로그인을 지정합니다.SQL_Server_login_mapped_to_Windows_group
Windows 그룹으로 매핑된 SQL Server 로그인을 지정합니다.SQL_Server_login_mapped_to_certificate
인증서로 매핑된 SQL Server 로그인을 지정합니다.SQL_Server_login_mapped_to_asymmetric_key
비대칭 키로 매핑된 SQL Server 로그인을 지정합니다.
주의
현재 데이터베이스가 master인 경우에만 서버 범위의 사용 권한을 거부할 수 있습니다.
서버 사용 권한 정보는 sys.server_permissions 카탈로그 뷰에 표시되며 서버 보안 주체 정보는 sys.server_principals 카탈로그 뷰에 표시됩니다. 서버 역할의 멤버 자격 정보는 sys.server_role_members 카탈로그 뷰에 표시됩니다.
서버는 사용 권한 계층에서 가장 높은 수준입니다. 다음 표에는 서버에서 거부될 수 있는 가장 제한적인 특정 사용 권한이 나열되어 있습니다.
서버 사용 권한 |
서버 사용 권한에 포함된 사용 권한 |
---|---|
ADMINISTER BULK OPERATIONS |
CONTROL SERVER |
ALTER ANY CONNECTION |
CONTROL SERVER |
ALTER ANY CREDENTIAL |
CONTROL SERVER |
ALTER ANY DATABASE |
CONTROL SERVER |
ALTER ANY ENDPOINT |
CONTROL SERVER |
ALTER ANY EVENT NOTIFICATION |
CONTROL SERVER |
ALTER ANY LINKED SERVER |
CONTROL SERVER |
ALTER ANY LOGIN |
CONTROL SERVER |
ALTER ANY SERVER AUDIT |
CONTROL SERVER |
ALTER RESOURCES |
CONTROL SERVER |
ALTER SERVER STATE |
CONTROL SERVER |
ALTER SETTINGS |
CONTROL SERVER |
ALTER TRACE |
CONTROL SERVER |
AUTHENTICATE SERVER |
CONTROL SERVER |
CONNECT SQL |
CONTROL SERVER |
CONTROL SERVER |
CONTROL SERVER |
CREATE ANY DATABASE |
ALTER ANY DATABASE |
CREATE DDL EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
CREATE ENDPOINT |
ALTER ANY ENDPOINT |
CREATE TRACE EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
EXTERNAL ACCESS ASSEMBLY |
CONTROL SERVER |
SHUTDOWN |
CONTROL SERVER |
UNSAFE ASSEMBLY |
CONTROL SERVER |
VIEW ANY DATABASE |
VIEW ANY DEFINITION |
VIEW ANY DEFINITION |
CONTROL SERVER |
VIEW SERVER STATE |
ALTER SERVER STATE |
사용 권한
CONTROL SERVER 권한 또는 보안 개체의 소유권이 필요합니다. AS 절을 사용하는 경우 지정된 보안 주체가 사용 권한을 거부할 보안 개체를 소유해야 합니다.
예
1. SQL Server 로그인 및 이 로그인이 사용 권한을 다시 부여한 보안 주체에 대해 CONNECT SQL 권한 거부
다음 예에서는 SQL Server 로그인 Annika 및 이 사용자가 사용 권한을 부여한 보안 주체에 대해 CONNECT SQL 권한을 거부합니다.
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
2. AS 옵션을 사용하여 SQL Server 로그인에 대해 CREATE ENDPOINT 권한 거부
다음 예에서는 사용자 ArifS에 대해 CREATE ENDPOINT 권한을 거부합니다. 이 예에서는 AS 옵션을 사용하여 이를 위해 실행 보안 주체가 권한을 부여할 수 있는 보안 주체로 MandarP를 지정합니다.
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO