ALTER APPLICATION ROLE (Transact-SQL)ALTER 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

アプリケーション ロールの名前、パスワード、または既定のスキーマを変更します。Changes the name, password, or default schema of an application role.

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

構文Syntax

  
ALTER APPLICATION ROLE application_role_name   
    WITH <set_item> [ ,...n ]  
  
<set_item> ::=   
    NAME = new_application_role_name   
    | PASSWORD = 'password'  
    | DEFAULT_SCHEMA = schema_name  

引数Arguments

application_role_nameapplication_role_name
変更するアプリケーション ロールの名前です。Is the name of the application role to be modified.

NAME =new_application_role_nameNAME =new_application_role_name
アプリケーション ロールの新しい名前を指定します。Specifies the new 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 for the application role. 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. 複雑なパスワードの使用をお勧めします。You should always use strong passwords.

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. schema_name にはデータベースに存在しないスキーマを指定できます。schema_name can be a schema that does not exist in the database.

RemarksRemarks

新しいアプリケーション ロールの名前が既にデータベースに存在する場合、このステートメントは失敗します。If the new application role name already exists in the database, the statement will fail. アプリケーション ロールの名前、パスワード、または既定のスキーマが変更されても、そのロールに関連付けられている ID は変更されません。When the name, password, or default schema of an application role is changed the ID associated with the role is not changed.

重要

パスワードの有効期限ポリシーは、アプリケーション ロールのパスワードには適用されません。Password expiration policy is not applied to application role passwords. このため、複雑なパスワードを選択する際には十分注意してください。For this reason, take extra care in selecting strong passwords. アプリケーション ロールを呼び出すアプリケーションは、これらのパスワードを格納する必要があります。Applications that invoke application roles must store their passwords.

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

注意事項

SQL Server 2005 (9.x)SQL Server 2005 (9.x) でのスキーマの動作は、以前のバージョンの SQL ServerSQL Server から変更されました。In SQL Server 2005 (9.x)SQL Server 2005 (9.x)the behavior of schemas changed from the behavior in earlier versions of SQL ServerSQL Server. コードで、スキーマがデータベース ユーザーと同じであることが前提となっている場合、正しい結果が返されない場合があります。Code that assumes that schemas are equivalent to database users may not 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 has 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 a database in which any of these statements has ever been used, you must use the new catalog views. 新しいカタログ ビューでは、SQL Server 2005 (9.x)SQL Server 2005 (9.x) で導入されたプリンシパルとスキーマの分離が考慮されます。The new catalog views take into account the separation of principals and schemas that is introduced in SQL Server 2005 (9.x)SQL Server 2005 (9.x). カタログ ビューの詳細については、「カタログ ビュー (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. 既定のスキーマを変更するには、アプリケーション ロールに対する ALTER 権限も必要です。To change the default schema, the user also needs ALTER permission on the application role. アプリケーション ロールは、それ自体の既定のスキーマを変更できますが、名前とパスワードは変更できません。An application role can alter its own default schema, but not its name or password.

使用例Examples

A.A. アプリケーション ロールの名前を変更するChanging the name of application role

次の例では、アプリケーション ロール weekly_receipts の名前を receipts_ledger に変更します。The following example changes the name of the application role weekly_receipts to receipts_ledger.

USE AdventureWorks2012;  
CREATE APPLICATION ROLE weekly_receipts   
    WITH PASSWORD = '987Gbv8$76sPYY5m23' ,   
    DEFAULT_SCHEMA = Sales;  
GO  
ALTER APPLICATION ROLE weekly_receipts   
    WITH NAME = receipts_ledger;  
GO  

B.B. アプリケーション ロールのパスワードを変更するChanging the password of application role

次の例では、アプリケーション ロール receipts_ledger のパスワードを変更します。The following example changes the password of the application role receipts_ledger.

ALTER APPLICATION ROLE receipts_ledger   
    WITH PASSWORD = '897yUUbv867y$200nk2i';  
GO  

C.C. 名前、パスワード、および既定のスキーマを変更するChanging the name, password, and default schema

次の例では、アプリケーション ロール receipts_ledger の名前、パスワード、および既定のスキーマをすべて同時に変更します。The following example changes the name, password, and default schema of the application role receipts_ledger all at the same time.

ALTER APPLICATION ROLE receipts_ledger   
    WITH NAME = weekly_ledger,   
    PASSWORD = '897yUUbv77bsrEE00nk2i',   
    DEFAULT_SCHEMA = Production;  
GO  

参照See Also

アプリケーション ロール Application Roles
CREATE APPLICATION ROLE (Transact-SQL) CREATE APPLICATION ROLE (Transact-SQL)
DROP APPLICATION ROLE (Transact-SQL) DROP APPLICATION ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)EVENTDATA (Transact-SQL)