Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Förhandsversion av Microsoft Fabric
Lägger till eller tar bort medlemmar till eller från en databasroll, eller ändrar namnet på en användardefinierad databasroll.
Note
Om du vill lägga till eller ta bort medlemmar från roller i Azure Synapse Analytics and Analytics Platform System (PDW) använder du sp_addrolemember (Transact-SQL) och sp_droprolemember (Transact-SQL).
Transact-SQL syntaxkonventioner
Syntax
Syntax för SQL Server (från och med 2012), Azure SQL Managed Instance, Azure SQL Database och Microsoft Fabric.
ALTER ROLE role_name
{
ADD MEMBER database_principal
| DROP MEMBER database_principal
| WITH NAME = new_name
}
[;]
Syntax för SQL Server före 2012.
-- Change the name of a user-defined database role
ALTER ROLE role_name
WITH NAME = new_name
[;]
Arguments
role_name
Gäller för: SQL Server (från och med 2008), Azure SQL Database, Azure SQL Managed Instance
Anger vilken databasroll som ska ändras.
LÄGG TILL MEDLEMS-database_principal
Gäller för: SQL Server (från och med 2012), Azure SQL Database, Azure SQL Managed Instance
Anger att databasobjektet ska läggas till i medlemskapet i en databasroll.
database_principal är en databasanvändare eller en användardefinierad databasroll.
database_principal kan inte vara en fast databasroll eller ett serverhuvudnamn.
SLÄPP MEDLEM database_principal
Gäller för: SQL Server (från och med 2012), Azure SQL Database, Azure SQL Managed Instance
Anger att ett databasobjekt ska tas bort från medlemskapet i en databasroll.
database_principal är en databasanvändare eller en användardefinierad databasroll.
database_principal kan inte vara en fast databasroll eller ett serverhuvudnamn.
MED NAMN = new_name
Gäller för: SQL Server (från och med 2008), Azure SQL Database, Azure SQL Managed Instance
Anger att namnet på en användardefinierad databasroll ska ändras. Det nya namnet får inte redan finnas i databasen.
Om du ändrar namnet på en databasroll ändras inte ID-nummer, ägare eller behörigheter för rollen.
Permissions
Om du vill köra det här kommandot behöver du en eller flera av dessa behörigheter eller medlemskap:
- ALTER-behörighet för rollen
- ÄNDRA VALFRI ROLLbehörighet i databasen
- Medlemskap i db_securityadmin fast databasroll
För att ändra medlemskapet i en fast databasroll behöver du dessutom:
- Medlemskap i db_owner fast databasroll
Begränsningar och restriktioner
Du kan inte ändra namnet på en fast databasroll.
Metadata
Dessa systemvyer innehåller information om databasroller och databashuvudnamn.
Examples
A. Ändra namnet på en databasroll
Gäller för: SQL Server (från och med 2008), Azure SQL Database, Azure SQL Managed Instance
I följande exempel ändras namnet på rollen buyers till purchasing. Det här exemplet kan köras i AdventureWorks-exempeldatabasen .
ALTER ROLE buyers WITH NAME = purchasing;
B. Lägga till eller ta bort rollmedlemmar
Gäller för: SQL Server (från och med 2012), Azure SQL Database, Azure SQL Managed Instance
I det här exemplet skapas en databasroll med namnet Sales. Den lägger till en databasanvändare med namnet Barry i medlemskapet och visar sedan hur du tar bort medlemmen Barry. Det här exemplet kan köras i AdventureWorks-exempeldatabasen .
CREATE ROLE Sales;
ALTER ROLE Sales ADD MEMBER Barry;
ALTER ROLE Sales DROP MEMBER Barry;
C. Lägga till en rollmedlem i specialroller för Azure SQL Database
gäller för: Azure SQL Database
Det här exemplet skapar en SQL-inloggning i den virtuella huvuddatabasen, skapar en databasanvändare som är relaterad till serverinloggningen och lägger till databasanvändaren som medlem i specialrollen dbmanager. I exemplet kan användarens behörigheter skapa och släppa databaser på en logisk Azure SQL Database-server. Kör exemplet i den virtuella huvuddatabasen för den logiska Azure SQL Database-servern.
CREATE LOGIN sqllogin_nlastname WITH password='aah3%#om1os';
CREATE USER sqllogin_nlastname FOR LOGIN sqllogin_nlastname
WITH DEFAULT_SCHEMA = master;
ALTER ROLE [dbmanager] add member sqllogin_nlastname;
See Also
SKAPA ROLL (Transact-SQL)
huvudnamn (databasmotor)
SLÄPP ROLL (Transact-SQL)
sp_addrolemember (Transact-SQL)
sys.database_role_members (Transact-SQL)
sys.database_principals (Transact-SQL)