ALTER APPLICATION ROLE (Transact-SQL)
アプリケーション ロールの名前、パスワード、または既定のスキーマを変更します。
構文
ALTER APPLICATION ROLE application_role_name
WITH <set_item> [ ,...n ]
<set_item> ::=
NAME = new_application_role_name
| PASSWORD = 'password'
| DEFAULT_SCHEMA = schema_name
引数
- application_role_name
変更するアプリケーション ロールの名前です。
- NAME **=**new_application_role_name
アプリケーション ロールの新しい名前を指定します。この名前は、データベース内のどのプリンシパルへの参照にも使用されていない名前である必要があります。
- PASSWORD ='password'
アプリケーション ロールのパスワードを指定します。パスワードの複雑性が確認されます。常に複雑なパスワードを使用してください。
- DEFAULT_SCHEMA **=**schema_name
オブジェクトの名前を解決するときに、サーバーで最初に検索されるスキーマを指定します。schema_name には、データベースに存在しないスキーマも指定できます。
解説
新しいアプリケーション ロールの名前が既にデータベースに存在する場合、このステートメントは失敗します。アプリケーション ロールの名前、パスワード、または既定のスキーマが変更されても、そのロールに関連付けられている ID は変更されません。
重要 : |
---|
パスワードの有効期限のポリシーは、アプリケーション ロールのパスワードには適用されません。このため、複雑なパスワードを選択する際には十分注意してください。アプリケーション ロールを呼び出すアプリケーションは、これらのパスワードを格納する必要があります。 |
アプリケーション ロールは、sys.database_principals カタログ ビューで参照できます。
注意 : |
---|
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 権限が必要です。既定のスキーマを変更するには、アプリケーション ロールに対する ALTER 権限も必要です。アプリケーション ロールは、それ自体の既定のスキーマを変更できますが、名前とパスワードは変更できません。
例
A. アプリケーション ロールの名前を変更する
次の例では、アプリケーション ロール weekly_receipts
の名前を receipts_ledger
に変更します。
USE AdventureWorks;
CREATE APPLICATION ROLE weekly_receipts
WITH PASSWORD = '987Gbv8$76sPYY5m23' ,
DEFAULT_SCHEMA = Sales;
GO
ALTER APPLICATION ROLE weekly_receipts
WITH NAME = receipts_ledger;
GO
B. アプリケーション ロールのパスワードを変更する
次の例では、アプリケーション ロール receipts_ledger
のパスワードを変更します。
ALTER APPLICATION ROLE receipts_ledger
WITH PASSWORD = '897yUUbv867y$200nk2i';
GO
C. 名前、パスワード、および既定のスキーマを変更する
次の例では、アプリケーション ロール receipts_ledger
の名前、パスワード、および既定のスキーマをすべて同時に変更します。
ALTER APPLICATION ROLE receipts_ledger
WITH NAME = weekly_ledger,
PASSWORD = '897yUUbv77bsrEE00nk2i',
DEFAULT_SCHEMA = Production;
GO
参照
関連項目
CREATE APPLICATION ROLE (Transact-SQL)
DROP APPLICATION ROLE (Transact-SQL)
EVENTDATA (Transact-SQL)