REVOKE (型の権限の取り消し) (Transact-SQL)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance

型に対する権限を取り消します。

Transact-SQL 構文表記規則

構文

REVOKE [ GRANT OPTION FOR ] permission [ ,...n ]   
    ON TYPE :: [ schema_name ]. type_name   
    { FROM | TO } <database_principal> [ ,...n ]   
    [ CASCADE ]  
    [ AS <database_principal> ]  
  
<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    

引数

permission
型で取り消すことができる権限を指定します。 権限の一覧については、後の「解説」を参照してください。

ON TYPE :: [ schema_name ] . type_name
権限を取り消す型を指定します。 スコープ修飾子 ( :: ) が必要です。 schema_name が指定されていない場合、既定のスキーマが使用されます。 schema_name が指定されている場合、スキーマのスコープ修飾子 ( . ) が必要です。

{ FROM | TO } <database_principal> 権限を取り消すプリンシパルを指定します。

GRANT OPTION
指定した権限を他のプリンシパルに許可するための権利が、取り消されることを示します。 権限自体は取り消されません。

重要

指定した権限が GRANT オプションなしでプリンシパルに許可されている場合は、その権限自体が取り消されます。

CASCADE
このプリンシパルによって権限が許可または拒否されている他のプリンシパルからも、同じ権限が取り消されることを示します。

注意事項

WITH GRANT OPTION で許可されている権限を CASCADE で取り消すと、その権限の GRANT および DENY の両方が取り消されます。

AS <database_principal> このクエリを実行するプリンシパルが権限を取り消す権利を取得した、元のプリンシパルを指定します。

Database_user
データベース ユーザーを指定します。

Database_role
データベース ロールを指定します。

Application_role
適用対象: SQL Server 2008 (10.0.x)、SQL Database

アプリケーション ロールを指定します。

Database_user_mapped_to_Windows_User
適用対象: SQL Server 2008 (10.0.x) 以降

Windows ユーザーにマップされているデータベース ユーザーを指定します。

Database_user_mapped_to_Windows_Group
適用対象: SQL Server 2008 (10.0.x) 以降

Windows グループにマップされているデータベース ユーザーを指定します。

Database_user_mapped_to_certificate
適用対象: SQL Server 2008 (10.0.x) 以降

証明書にマップされているデータベース ユーザーを指定します。

Database_user_mapped_to_asymmetric_key
適用対象: SQL Server 2008 (10.0.x) 以降

非対称キーにマップされているデータベース ユーザーを指定します。

Database_user_with_no_login
対応するサーバー レベルのプリンシパルがないデータベース ユーザーを指定します。

解説

型は、スキーマ レベルのセキュリティ保護可能なリソースで、権限の階層で親となっているスキーマに含まれています。

重要

GRANTDENY,REVOKE の各権限は、システム型には適用されません。 ユーザー定義型には権限を許可できます。 ユーザー定義型について詳しくは、「SQL Server でのユーザー定義型の使用」をご覧ください。

次の表に、型で取り消すことができる権限のうち最も限定的なものを、それらを暗黙的に含む一般的な権限と共に示します。

型権限 権限が含まれる型権限 権限が含まれるスキーマ権限
CONTROL CONTROL CONTROL
EXECUTE CONTROL EXECUTE
REFERENCES CONTROL REFERENCES
TAKE OWNERSHIP CONTROL CONTROL
VIEW DEFINITION CONTROL VIEW DEFINITION

アクセス許可

型に対する CONTROL 権限が必要です。 AS 句を使用する場合は、指定したプリンシパルが型を所有している必要があります。

次の例では、ユーザー定義型 PhoneNumber に対する VIEW DEFINITION 権限を、ユーザー KhalidR から取り消します。 CASCADE オプションは、KhalidRVIEW DEFINITION 権限を許可したプリンシパルからも権限を取り消すことを示します。 PhoneNumber はスキーマ Telemarketing にあります。

REVOKE VIEW DEFINITION ON TYPE::Telemarketing.PhoneNumber   
    FROM KhalidR CASCADE;  
GO  

参照

GRANT (型の権限の許可) (Transact-SQL)
DENY (型の権限の拒否) (Transact-SQL)
CREATE TYPE (Transact-SQL)
権限 (データベース エンジン)
プリンシパル (データベース エンジン)
セキュリティ保護可能