REVOKE 系統物件權限 (Transact-SQL)

撤銷系統物件 (如預存程序、擴充預存程序、函數及主體中的檢視) 的權限。

主題連結圖示Transact-SQL 語法慣例

語法

REVOKE { SELECT | EXECUTE } ON [sys.]system_object FROM principal 

引數

  • [sys.] .
    只有在參考目錄檢視和動態管理檢視時,才需要 sys 限定詞。

  • system_object
    指定要撤銷其權限的物件。

  • principal
    指定要撤銷其權限的主體。

備註

這個陳述式可用來撤銷下列項目的權限:某些預存程序、擴充預存程序、資料表值函數、純量函數、檢視、目錄檢視、相容性檢視、INFORMATION_SCHEMA 檢視、動態管理檢視及 SQL Server 安裝的系統資料表。在資源資料庫 (mssqlsystemresource) 中,這些系統物件會個別以唯一記錄形式存在。資源資料庫是唯讀的。該物件的連結會公開為每個資料庫之 sys 結構描述中的記錄。

預設名稱解析會對資源資料庫解析不合格的程序名稱。因此,只有在指定目錄檢視和動態管理檢視時,才需要 sys. 限定詞。

警告注意事項注意

撤銷系統物件的權限,會導致相依於這些系統物件的應用程式失敗。如果您變更目錄檢視的預設權限,SQL Server Management Studio 會使用目錄檢視,且可能無法按照預期的方式運作。

不支援撤銷觸發程序的權限及拒絕系統物件之資料行的權限。

SQL Server 升級期間會保留系統物件的權限。

您可以在 sys.system_objects 目錄檢視中看到系統物件。

權限

需要 CONTROL SERVER 權限。

範例

下列範例會從 public 撤銷 sp_addlinkedserver 的 EXECUTE 權限。

REVOKE EXECUTE ON sys.sp_addlinkedserver FROM public;
GO