REVOKE (システム オブジェクトの権限の取り消し) (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
ストアド プロシージャ、拡張ストアド プロシージャ、関数、ビューなどのシステム オブジェクトに対する権限が、プリンシパルから取り消されます。
構文
REVOKE { SELECT | EXECUTE } ON [sys.]system_object FROM principal
引数
[sys.] =
sys 修飾子は、カタログ ビューおよび動的カタログ ビューを指定する場合にのみ必要です。
system_object
権限を取り消すオブジェクトが指定されます。
principal
権限を取り消すプリンシパルを指定します。
解説
このステートメントを使用すると、特定のストアド プロシージャ、拡張ストアド プロシージャ、テーブル値関数、スカラー関数、ビュー、カタログ ビュー、互換ビュー、INFORMATION_SCHEMA ビュー、動的管理ビュー、および SQL Server によってインストールされたシステム テーブルに対する権限を取り消すことができます。 これらのシステム オブジェクトはそれぞれ、リソース データベース (mssqlsystemresource) に一意なレコードとして存在しています。 リソース データベースは読み取り専用です。 オブジェクトへのリンクは、各データベースの sys スキーマでは 1 レコードとして表されます。
既定の名前解決では、修飾子のないプロシージャ名はリソース データベースとして解釈されます。 したがって、sys. 修飾子は、カタログ ビューおよび動的カタログ ビューを指定する場合にのみ必要です。
注意事項
システム オブジェクトに対する権限を取り消すと、そのシステム オブジェクトに依存するアプリケーションは失敗します。 SQL Server Management Studio ではカタログ ビューが使用されており、カタログ ビューの既定の権限を変更すると、正常に機能しなくなることがあります。
システム オブジェクトのトリガーおよび列に対する権限の取り消しはサポートされていません。
システム オブジェクトの権限は、SQL Server のアップグレード時も維持されます。
システム オブジェクトは、 sys.system_objects カタログ ビューで確認できます。
アクセス許可
CONTROL SERVER 権限が必要です。
例
次の例では、sp_addlinkedserver
に対する EXECUTE
権限を、public
から取り消します。
REVOKE EXECUTE ON sys.sp_addlinkedserver FROM public;
GO
参照
sys.system_objects (Transact-SQL)
sys.database_permissions (Transact-SQL)
GRANT (システム オブジェクトの権限の許可) (Transact-SQL)
DENY (システム オブジェクトの権限の拒否) (Transact-SQL)