ALTER ROLE (Transact-SQL)ALTER ROLE (Transact-SQL)

適用対象: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

データベース ロールのメンバーを追加または削除するか、ユーザー定義のデータベース ロールの名前を変更します。Adds or removes members to or from a database role, or changes the name of a user-defined database role.

注意

SQL データ ウェアハウスSQL Data Warehouse または Parallel Data WarehouseParallel Data Warehouse のメンバーを追加または削除するロールを変更するには、sp_addrolemember (Transact-SQL)sp_droprolemember (Transact-SQL) を使用します。To alter roles adding or dropping members in SQL データ ウェアハウスSQL Data Warehouse or Parallel Data WarehouseParallel Data Warehouse, use sp_addrolemember (Transact-SQL) and sp_droprolemember (Transact-SQL).

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

構文Syntax

-- Syntax for SQL Server (starting with 2012) and Azure SQL Database  
  
ALTER ROLE  role_name  
{  
       ADD MEMBER database_principal  
    |  DROP MEMBER database_principal  
    |  WITH NAME = new_name  
}  
[;]  
-- Syntax for SQL Server 2008, Azure SQL Data Warehouse and Parallel Data Warehouse
  
-- Change the name of a user-defined database role  
ALTER ROLE role_name   
    WITH NAME = new_name  
[;]  

引数Arguments

role_namerole_name
適用対象: SQL ServerSQL Server (2008 以降)、Azure SQL データベースAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (starting with 2008), Azure SQL データベースAzure SQL Database

変更するデータベース ロールを指定します。Specifies the database role to change.

ADD MEMBER database_principallADD MEMBER database_principall
適用対象: SQL ServerSQL Server (2012 以降)、Azure SQL データベースAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (starting with 2012), Azure SQL データベースAzure SQL Database

データベース ロールのメンバーシップにデータベース プリンシパルを追加することを指定します。Specifies to add the database principal to the membership of a database role.

  • database_principal はデータベース ユーザーまたはユーザー定義データベース ロールです。database_principal is a database user or a user-defined database role.

  • database_principal には固定データベース ロールまたはサーバー プリンシパルは指定できません。database_principal cannot be a fixed database role or a server principal.

DROP MEMBER database_principalDROP MEMBER database_principal
適用対象: SQL ServerSQL Server (2012 以降)、Azure SQL データベースAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (starting with 2012), Azure SQL データベースAzure SQL Database

データベース ロールのメンバーシップからデータベース プリンシパルを削除することを指定します。Specifies to remove a database principal from the membership of a database role.

  • database_principal はデータベース ユーザーまたはユーザー定義データベース ロールです。database_principal is a database user or a user-defined database role.

  • database_principal には固定データベース ロールまたはサーバー プリンシパルは指定できません。database_principal cannot be a fixed database role or a server principal.

WITH NAME = new_nameWITH NAME = new_name
適用対象: SQL ServerSQL Server (2008 以降)、Azure SQL データベースAzure SQL DatabaseAPPLIES TO: SQL ServerSQL Server (starting with 2008), Azure SQL データベースAzure SQL Database

ユーザー定義データベース ロールの名前を変更することを指定します。Specifies to change the name of a user-defined database role. データベース内に存在しない新しい名前を指定してください。The new name must not already exist in the database.

データベース ロールの名前を変更しても、ロールの ID 番号、所有者、権限は変わりません。Changing the name of a database role does not change ID number, owner, or permissions of the role.

アクセス許可Permissions

このコマンドを実行するには、以下の権限またはメンバーシップの 1 つ以上が必要です。To run this command you need one or more of these permissions or memberships:

  • ロールに対する ALTER 権限ALTER permission on the role
  • データベースに対する ALTER ANY ROLE 権限ALTER ANY ROLE permission on the database
  • db_securityadmin 固定データベース ロールのメンバーシップMembership in the db_securityadmin fixed database role

また、固定データベース ロールのメンバーシップを変更するには以下が必要です。Additionally, to change the membership in a fixed database role you need:

  • db_owner 固定データベース ロールのメンバーシップMembership in the db_owner fixed database role

制限事項と制約事項Limitations and restrictions

固定データベース ロールの名前は変更できません。You cannot change the name of a fixed database role.

メタデータMetadata

これらのシステム ビューには、データベース ロールとデータベース プリンシパルに関する情報が格納されます。These system views contain information about database roles and database principals.

使用例Examples

A.A. データベース ロールの名前の変更Change the name of a database role

適用対象: SQL ServerSQL Server (2008 以降)、SQL DatabaseSQL DatabaseAPPLIES TO: SQL ServerSQL Server (starting with 2008), SQL DatabaseSQL Database

次の例では、ロール buyers の名前を purchasing に変更します。The following example changes the name of role buyers to purchasing. この例では、AdventureWorks サンプル データベースで実行できます。This example can be executed in the AdventureWorks sample database.

ALTER ROLE buyers WITH NAME = purchasing;  

B.B. ロール メンバーの追加または削除Add or remove role members

適用対象: SQL ServerSQL Server (2012 以降)、SQL DatabaseSQL DatabaseAPPLIES TO: SQL ServerSQL Server (starting with 2012), SQL DatabaseSQL Database

この例では、Sales という名前のデータベース ロールを作成します。This example creates a database role named Sales. メンバーシップに Barry という名前のデータベース ユーザーを追加してから、メンバー Barry を削除する方法を示します。It adds a database user named Barry to the membership, and then shows how to remove the member Barry. この例では、AdventureWorks サンプル データベースで実行できます。This example can be executed in the AdventureWorks sample database.

CREATE ROLE Sales;  
ALTER ROLE Sales ADD MEMBER Barry;  
ALTER ROLE Sales DROP MEMBER Barry;  

参照See Also

CREATE ROLE (Transact-SQL) CREATE ROLE (Transact-SQL)
プリンシパル (データベース エンジン) Principals (Database Engine)
DROP ROLE (Transact-SQL) DROP ROLE (Transact-SQL)
sp_addrolemember (Transact-SQL) sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL) sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)sys.database_principals (Transact-SQL)