GRANT (システム オブジェクトの権限の許可) (Transact-SQL)

更新 : 2006 年 7 月 17 日

ストアド プロシージャ、拡張ストアド プロシージャ、関数、ビューなどのシステム オブジェクトに対する権限を許可します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

GRANT { SELECT | EXECUTE } ON [ sys.]system_object TO principal 

引数

  • [ sys.] .
    sys 修飾子は、カタログ ビューおよび動的カタログ ビューを指定する場合にのみ必要です。
  • system_object
    権限を許可するオブジェクトを指定します。
  • principal
    権限を許可するプリンシパルを指定します。

解説

このステートメントを使用すると、特定のストアド プロシージャ、拡張ストアド プロシージャ、テーブル値関数、スカラ関数、ビュー、カタログ ビュー、互換ビュー、INFORMATION_SCHEMA ビュー、動的管理ビュー、および SQL Server 2005 によってインストールされたシステム テーブルに対する権限を許可できます。これらのシステム オブジェクトはそれぞれ、サーバーのリソース データベース (mssqlsystemresource) に一意なレコードとして存在しています。リソース データベースは読み取り専用です。オブジェクトへのリンクは、各データベースの sys スキーマでは 1 レコードとして表されます。システム オブジェクトを実行または選択する権限は、許可、拒否、および取り消しが可能です。

オブジェクトを実行または選択する権限を許可しても、そのオブジェクトの使用に必要なすべての権限が与えられるわけではありません。ほとんどのオブジェクトでは、操作の実行に追加の権限が必要です。たとえば、ユーザーに対して sp_addlinkedserver の EXECUTE 権限が許可されていても、sysadmin 固定サーバー ロールのメンバでない限り、そのユーザーはリンク サーバーを作成できません。

既定の名前解決では、修飾子のないプロシージャ名はリソース データベースとして解釈されます。したがって、sys 修飾子は、カタログ ビューおよび動的カタログ ビューを指定する場合にのみ必要です。

システム オブジェクトのトリガおよび列に対する権限の許可はサポートされていません。

システム オブジェクトの権限は、SQL Server のアップグレード時も維持されます。

システム オブジェクトは、sys.system_objects カタログ ビューで確認できます。システム オブジェクトの権限は、master データベースの sys.database_permissions カタログ ビューで確認できます。

次のクエリでは、システム オブジェクトの権限に関する情報が返されます。

SELECT * FROM master.sys.database_permissions AS dp 
    JOIN sys.system_objects AS so
    ON dp.major_id = so.object_id
    WHERE dp.class = 1 AND so.parent_object_id = 0 ;
GO

権限

CONTROL SERVER 権限が必要です。

A. ビューに対する SELECT 権限を許可する

次の例では、SQL Server ログインの一覧を表示するビューを選択する権限を、SQL Server ログイン Smacrae に許可します。その後、ユーザーが所有していない SQL Server ログインでメタデータを表示するために必要な追加権限を許可します。

USE AdventureWorks;
GRANT SELECT ON sys.sql_logins TO Smacrae;
GRANT VIEW SERVER STATE to Smacrae;
GO

B. 拡張ストアド プロシージャに対する EXECUTE 権限を許可する

次の例では、Smacrae に対し、xp_readmailEXECUTE 権限を許可します。

GRANT EXECUTE ON xp_readmail TO Smacrae;
GO

参照

関連項目

sys.system_objects (Transact-SQL)
sys.database_permissions (Transact-SQL)
REVOKE (システム オブジェクトの権限の取り消し) (Transact-SQL)
DENY (システム オブジェクトの権限の拒否) (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

追加内容 :
  • システム オブジェクトの実行権限を許可する例を追加。