ストアド プロシージャに対する権限の許可
このトピックでは、SQL Server 2012 で SQL Server Management Studio または Transact-SQL を使用して、ストアド プロシージャに対する権限を許可する方法について説明します。 権限は、データベース内の既存のユーザー、データベース ロール、またはアプリケーション ロールに許可することができます。
このトピックの内容
作業を開始する準備:
制限事項と制約事項
セキュリティ
ストアド プロシージャに対する権限を許可するために使用するもの:
SQL Server Management Studio
Transact-SQL
作業を開始する準備
制限事項と制約事項
- SQL Server Management Studio を使用して、システム プロシージャやシステム関数に対する権限を許可することはできません。 代わりに、GRANT (オブジェクト権限の許可) を使用してください。
セキュリティ
権限
権限の許可者 (または AS オプションで指定されたプリンシパル) は、GRANT OPTION によって与えられた権限を保持しているか、権限が暗黙的に与えられる上位の権限を保持している必要があります。 プロシージャが属しているスキーマに対する ALTER 権限、またはプロシージャに対する CONTROL 権限が必要です。 詳細については、「GRANT (オブジェクトの権限の許可) (Transact-SQL)」を参照してください。
[先頭に戻る]
SQL Server Management Studio の使用
ストアド プロシージャに対して権限を許可するには
オブジェクト エクスプローラーで、データベース エンジンのインスタンスに接続し、そのインスタンスを展開します。
[データベース] を展開し、プロシージャが属するデータベースを展開し、[プログラミング] を展開します。
[ストアド プロシージャ] を展開し、権限を許可するプロシージャを右クリックして、[プロパティ] をクリックします。
[ストアド プロシージャのプロパティ] で、[権限] ページを選択します。
ユーザー、データベース ロール、またはアプリケーション ロールに権限を許可するには、[検索] をクリックします。
[ユーザーまたはロールの選択] で、[オブジェクトの種類] をクリックして目的のユーザーやロールを追加または削除します。
[参照] をクリックしてユーザーまたはロールの一覧を表示します。 権限を許可するユーザーまたはロールを選択します。
[明示的な権限] グリッドで、指定したユーザーまたはロールに許可する権限を選択します。 権限の説明については、「権限 (データベース エンジン)」を参照してください。
[許可] を選択すると、指定した権限が与えられます。 [許可の有無] を選択すると、指定した権限をさらに他のプリンシパルにも許可できるようになります。
[先頭に戻る]
Transact-SQL の使用
ストアド プロシージャに対して権限を許可するには
データベース エンジンに接続します。
[標準] ツール バーの [新しいクエリ] をクリックします。
次の例をコピーしてクエリ ウィンドウに貼り付け、[実行] をクリックします。 この例では、ストアド プロシージャ HumanResources.uspUpdateEmployeeHireInfo に対する EXECUTE 権限を、アプリケーション ロール Recruiting11 に対して許可します。
USE AdventureWorks2012;
GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo
TO Recruiting11;
GO
[先頭に戻る]
関連項目
参照
sys.fn_builtin_permissions (Transact-SQL)
GRANT (オブジェクトの権限の許可) (Transact-SQL)