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 子句,指定的主體必須擁有要拒絕其權限的安全性實體。
範例
A. 對 SQL Server 登入及已對其授與權限的主體,拒絕 CONNECT SQL 權限
下列範例會對 SQL Server 登入 Annika 及她已對其授與權限的主體,拒絕 CONNECT SQL 權限。
USE master;
DENY CONNECT SQL TO Annika CASCADE;
GO
B. 使用 AS 選項,對 SQL Server 登入拒絕 CREATE ENDPOINT 權限
下列範例會對使用者 ArifS 拒絕 CREATE ENDPOINT 權限。這個範例利用 AS 選項來指定 MandarP 作為負責執行的主體從其衍生權限,以執行這項指定作業的主體。
USE master;
DENY CREATE ENDPOINT TO ArifS AS MandarP;
GO
變更記錄
更新的內容 |
---|
新增 ALTER ANY SERVER AUDIT 權限。 |