CREATE APPLICATION ROLE (Transact-SQL)CREATE APPLICATION ROLE (Transact-SQL)

適用対象: ○SQL Server ○Azure SQL Database XAzure SQL Data Warehouse XParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

アプリケーション ロールを現在のデータベースに追加します。Adds an application role to the current database.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

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

引数Arguments

application_role_nameapplication_role_name
アプリケーション ロールの名前を指定します。Specifies the name of the application role. この名前は、データベース内のどのプリンシパルへの参照にも使用されていない名前である必要があります。This name must not already be used to refer to any principal in the database.

PASSWORD =' password 'PASSWORD ='password'
データベース ユーザーがアプリケーション ロールのアクティブ化に使用するパスワードを指定します。Specifies the password that database users will use to activate the application role. 複雑なパスワードの使用をお勧めします。You should always use strong passwords. password は、Windows のパスワード ポリシーが SQL ServerSQL Server のインスタンスを実行するコンピューターに要求する条件を満足する必要があります。password must meet the Windows password policy requirements of the computer that is running the instance of SQL ServerSQL Server.

DEFAULT_SCHEMA = schema_nameDEFAULT_SCHEMA =schema_name
このロール用のオブジェクトの名前を解決するときに、サーバーで最初に検索されるスキーマを指定します。Specifies the first schema that will be searched by the server when it resolves the names of objects for this role. DEFAULT_SCHEMA が定義されていない場合、アプリケーション ロールでは既定のスキーマとして DBO が使用されます。If DEFAULT_SCHEMA is left undefined, the application role will use DBO as its default schema. schema_name にはデータベースに存在しないスキーマを指定できます。schema_name can be a schema that does not exist in the database.

RemarksRemarks

重要

アプリケーション ロールのパスワードを設定するときには、パスワードの複雑性が確認されます。Password complexity is checked when application role passwords are set. アプリケーション ロールを呼び出すアプリケーションは、これらのパスワードを格納する必要があります。Applications that invoke application roles must store their passwords. アプリケーション ロールのパスワードは常に暗号化して保存する必要があります。Application role passwords should always be stored encrypted.

アプリケーション ロールは、sys.database_principals カタログ ビューで参照できます。Application roles are visible in the sys.database_principals catalog view.

アプリケーション ロールの使用方法については、「アプリケーション ロール」をご覧ください。For information about how to use application roles, see Application Roles.

注意事項

SQL Server 2005 からスキーマの動作が変更されました。Beginning with SQL Server 2005, the behavior of schemas changed. その結果、スキーマがデータベース ユーザーと同じであると想定しているコードでは、正しい結果が返されない場合があります。As a result, code that assumes that schemas are equivalent to database users may no longer return correct results. 以下の DDL ステートメントが使用されているデータベースでは、sysobjects などの古いカタログ ビューを使用してはいけません。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。Old catalog views, including sysobjects, should not be used in a database in which any of the following DDL statements have ever been used: 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. そのようなデータベースでは、代わりに新しいカタログ ビューを使用してください。In such databases you must instead use the new catalog views. 新しいカタログ ビューでは、SQL Server 2005 で導入されたプリンシパルとスキーマの分離が考慮されます。The new catalog views take into account the separation of principals and schemas that was introduced in SQL Server 2005. カタログ ビューの詳細については、「カタログ ビュー (Transact-SQL)」を参照してください。For more information about catalog views, see Catalog Views (Transact-SQL).

アクセス許可Permissions

データベースに対する ALTER ANY APPLICATION ROLE 権限が必要です。Requires ALTER ANY APPLICATION ROLE permission on the database.

使用例Examples

次の例では、アプリケーション ロール weekly_receipts を作成します。このアプリケーション ロールのパスワードは 987Gbv876sPYY5m23 で、既定のスキーマは Sales です。The following example creates an application role called weekly_receipts that has the password 987Gbv876sPYY5m23 and Sales as its default schema.

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

参照See Also

アプリケーション ロール Application Roles
sp_setapprole (Transact-SQL) sp_setapprole (Transact-SQL)
ALTER APPLICATION ROLE (Transact-SQL) ALTER APPLICATION ROLE (Transact-SQL)
DROP APPLICATION ROLE (Transact-SQL) DROP APPLICATION ROLE (Transact-SQL)
パスワード ポリシー Password Policy
EVENTDATA (Transact-SQL)EVENTDATA (Transact-SQL)