Kommentar
Å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
Analytics Platform System (PDW)
Ändrar medlemskapet för en serverroll eller ändrar namnet på en användardefinierad serverroll. Fasta serverroller kan inte byta namn.
Transact-SQL syntaxkonventioner
Syntax
-- Syntax for SQL Server, Azure SQL Database, Azure SQL Managed Instance
ALTER SERVER ROLE server_role_name
{
[ ADD MEMBER server_principal ]
| [ DROP MEMBER server_principal ]
| [ WITH NAME = new_server_role_name ]
} [ ; ]
-- Syntax for Parallel Data Warehouse
ALTER SERVER ROLE server_role_name ADD MEMBER login;
ALTER SERVER ROLE server_role_name DROP MEMBER login;
Arguments
server_role_name
Är namnet på serverrollen som ska ändras?
LÄGG TILL MEDLEM server_principal
Lägger till den specificerade serverprincipen i serverrollen. server_principal kan vara en inloggning eller en användardefinierad serverroll. server_principal kan inte vara en fast serverroll, en databasroll eller SA.
DROP MEDLEM server_principal
Tar bort den angivna serverprincipalen från serverrollen. server_principal kan vara en inloggning eller en användardefinierad serverroll. server_principal kan inte vara en fast serverroll, en databasroll eller SA.
MED NAMN =new_server_role_name
Specificerar det nya namnet på den användardefinierade serverrollen. Detta namn kan inte redan existera på servern.
Remarks
Att ändra namnet på en användardefinierad serverroll ändrar inte ID-nummer, ägare eller behörigheter för rollen.
För att byta roll ersätter ALTER SERVER ROLE medlemskap sp_addsrvrolemember och sp_dropsrvrolemember. Dessa lagrade procedurer är föråldrade.
Du kan se serverroller genom att söka i sys.server_role_members och sys.server_principals katalogvyerna.
För att ändra ägaren till en användardefinierad serverroll, använd ALTER AUTHORIZATION (Transact-SQL).
I Azure SQL Database måste köras ALTER SERVER ROLE i databasenmaster.
Permissions
Kräver ALTER ANY SERVER ROLE behörighet på servern för att ändra namnet på en användardefinierad serverroll.
Fördefinierade serverroller
För att lägga till en medlem i en fast serverroll måste du vara medlem i den fasta serverrollen, eller vara medlem i den sysadmin fasta serverrollen.
Anmärkning
Och behörigheterna CONTROL SERVER är inte tillräckliga för att köras ALTER SERVER ROLE för en fast serverroll, och ALTER behörighet kan inte ges för en fast serverroll.ALTER ANY SERVER ROLE
Användardefinierade serverroller
För att lägga till en medlem i en användardefinierad serverroll måste du vara medlem i den sysadmin fasta serverrollen eller ha CONTROL SERVER eller ALTER ANY SERVER ROLE tillstånd. Eller så måste du ha ALTER tillstånd för den rollen.
Anmärkning
Till skillnad från fasta serverroller har medlemmar i en användardefinierad serverroll inte automatiskt behörighet att lägga till medlemmar i samma roll.
Examples
A. Byt namn på en serverroll
Följande exempel skapar en serverroll som heter Product, och ändrar sedan namnet på serverrollen till Production.
CREATE SERVER ROLE Product ;
ALTER SERVER ROLE Product WITH NAME = Production ;
GO
B. Lägg till ett domänkonto i en serverroll
Följande exempel lägger till ett domänkonto med namnet adventure-works\roberto0 till den användardefinierade serverrollen med namnet Production.
ALTER SERVER ROLE Production ADD MEMBER [adventure-works\roberto0] ;
C. Lägg till en SQL Server-inloggning till en serverroll
Följande exempel lägger till en SQL Server-inloggning namngiven Ted till den diskadmin fasta serverrollen.
ALTER SERVER ROLE diskadmin ADD MEMBER Ted ;
GO
D. Ta bort ett domänkonto från en serverroll
Följande exempel tar bort ett domänkonto med namnet adventure-works\roberto0 från den användardefinierade serverrollen med namnet Production.
ALTER SERVER ROLE Production DROP MEMBER [adventure-works\roberto0] ;
E. Ta bort en SQL Server-inloggning från en serverroll
Följande exempel tar bort SQL Server-inloggningen Ted från den diskadmin fasta serverrollen.
ALTER SERVER ROLE Production DROP MEMBER Ted ;
GO
F. Ge en inloggning behörighet att lägga till inloggningar till en användardefinierad serverroll
Följande exempel tillåter Ted att lägga till andra inloggningar till den användardefinierade serverrollen med namnet Production.
GRANT ALTER ON SERVER ROLE::Production TO Ted ;
GO
G. Visa rollmedlemskap
För att se rollmedlemskap, använd sidan Server Role (Members) i SQL Server Management Studio eller kör följande fråga:
SELECT SRM.role_principal_id, SP.name AS Role_Name,
SRM.member_principal_id, SP2.name AS Member_Name
FROM sys.server_role_members AS SRM
JOIN sys.server_principals AS SP
ON SRM.Role_principal_id = SP.principal_id
JOIN sys.server_principals AS SP2
ON SRM.member_principal_id = SP2.principal_id
ORDER BY SP.name, SP2.name
Exempel: Analysplattformssystem (PDW)
H. Lägg till en medlem i en serverroll
Följande exempel lägger till inloggningen Anna i LargeRC serverrollen.
ALTER SERVER ROLE LargeRC ADD MEMBER Anna;
I. Ta bort en inloggning från en resursklass
Följande exempel tar bort Annas medlemskap i LargeRC serverrollen.
ALTER SERVER ROLE LargeRC DROP MEMBER Anna;
Nästa steg
- CREATE SERVER ROLE (Transact-SQL)
- DROP SERVER ROLE (Transact-SQL)
- CREATE ROLE (Transact-SQL)
- ALTER ROLE (Transact-SQL)
- DROP ROLE (Transact-SQL)
- Säkerhetslagrade procedurer (Transact-SQL)
- Säkerhetsfunktioner (Transact-SQL)
- Principals (Database Engine)
- sys.server_role_members (Transact-SQL)
- sys.server_principals (Transact-SQL)