CREATE APPLICATION ROLE (Transact-SQL)

アプリケーション ロールを現在のデータベースに追加します。

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

構文

CREATE APPLICATION ROLE application_role_name 
    WITH PASSWORD = 'password' [ , DEFAULT_SCHEMA = schema_name ]

引数

  • application_role_name
    アプリケーション ロールの名前を指定します。この引数には、データベース内のどのプリンシパルへの参照にも使用されていない名前を指定してください。

  • PASSWORD ='password'
    データベース ユーザーがアプリケーション ロールのアクティブ化に使用するパスワードを指定します。複雑なパスワードの使用をお勧めします。password は、Windows のパスワード ポリシーが SQL Server のインスタンスを実行するコンピュータに要求する条件を満足する必要があります。

  • DEFAULT_SCHEMA **=**schema_name
    このロール用のオブジェクトの名前を解決するときに、サーバーで最初に検索されるスキーマを指定します。DEFAULT_SCHEMA が定義されていない場合、アプリケーション ロールでは既定のスキーマとして DBO が使用されます。schema_name にはデータベースに存在しないスキーマを指定できます。

説明

重要な注意事項重要

アプリケーション ロールのパスワードを設定するときには、パスワードの複雑性が確認されます。アプリケーション ロールを呼び出すアプリケーションは、これらのパスワードを格納する必要があります。アプリケーション ロールのパスワードは常に暗号化して保存する必要があります。

アプリケーション ロールは、sys.database_principals カタログ ビューで参照できます。

アプリケーション ロールの使用方法については、「アプリケーション ロール」を参照してください。

注記注意

SQL Server 2005 からスキーマの動作が変更されました。その結果、スキーマがデータベース ユーザーと同じであると想定しているコードでは、正しい結果が返されない場合があります。CREATE SCHEMA、ALTER SCHEMA、DROP SCHEMA、CREATE USER、ALTER USER、DROP USER、CREATE ROLE、ALTER ROLE、DROP ROLE、CREATE APPROLE、ALTER APPROLE、DROP APPROLE、ALTER AUTHORIZATION のいずれかの DDL ステートメントが使用されたことのあるデータベースでは、sysobjects などの古いカタログ ビューを使用しないでください。そのようなデータベースでは、代わりに新しいカタログ ビューを使用してください。新しいカタログ ビューでは、SQL Server 2005 で導入されたプリンシパルとスキーマの分離が考慮されます。カタログ ビューの詳細については、「カタログ ビュー (Transact-SQL)」を参照してください。

権限

データベースに対する ALTER ANY APPLICATION ROLE 権限が必要です。

次の例では、アプリケーション ロール weekly_receipts を作成します。このアプリケーション ロールのパスワードは 987Gbv876sPYY5m23 で、既定のスキーマは Sales です。

CREATE APPLICATION ROLE weekly_receipts 
    WITH PASSWORD = '987G^bv876sPY)Y5m23' 
    , DEFAULT_SCHEMA = Sales;
GO