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'
    データベース ユーザーがアプリケーション ロールのアクティブ化に使用するパスワードを指定します。複雑なパスワードの使用をお勧めします。
  • DEFAULT_SCHEMA **=**schema_name
    このロール用のオブジェクトの名前を解決するときに、サーバーで最初に検索されるスキーマを指定します。DEFAULT_SCHEMA が定義されていない場合、アプリケーション ロールでは既定のスキーマとして DBO が使用されます。schema_name にはデータベースに存在しないスキーマを指定できます。

解説

ms181491.note(ja-jp,SQL.90).gif重要 :
アプリケーション ロールのパスワードを設定するときには、パスワードの複雑性が確認されます。アプリケーション ロールを呼び出すアプリケーションは、これらのパスワードを格納する必要があります。アプリケーション ロールのパスワードは常に暗号化して保存する必要があります。

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

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

ms181491.Caution(ja-jp,SQL.90).gif注意 :
SQL Server 2005 でのスキーマの動作は、以前のバージョンの SQL Server から変更されました。コードで、スキーマがデータベース ユーザーと同じであることが前提となっている場合、正しい結果が返されない場合があります。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

参照

関連項目

sp_setapprole (Transact-SQL)
ALTER APPLICATION ROLE (Transact-SQL)
DROP APPLICATION ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)

その他の技術情報

アプリケーション ロール
コンテキストの切り替え
パスワード ポリシー

ヘルプおよび情報

SQL Server 2005 の参考資料の入手