- 05/24/2017
- 4 minuter att läsa
-
- V
- w
- M
- j
- D
-
+8
GÖR TILL: SQL Server Azure SQL Database Azure Synapse Analytics Parallel Data Warehouse
SQL Server tillhandahåller roller på servernivå som hjälper dig att hantera behörigheter på en server. Dessa roller är säkerhetsprinciper som grupperar andra principer. Roller på servernivå är serverövergripande i sitt behörighetsområde. (Roller är som grupper i operativsystemet Windows.)
Fasta serverroller tillhandahålls för bekvämlighet och bakåtkompatibilitet. Tilldela mer specifika behörigheter när det är möjligt.
SQL Server tillhandahåller nio fasta serverroller. De behörigheter som tilldelas de fasta serverrollerna (utom public) kan inte ändras. Från och med SQL Server 2012 (11.x) kan du skapa användardefinierade serverroller och lägga till behörigheter på servernivå till de användardefinierade serverrollerna.
Du kan lägga till principaler på servernivå (SQL Server-login, Windows-konton och Windows-grupper) i roller på servernivå. Varje medlem i en fast serverroll kan lägga till andra inloggningar till samma roll. Medlemmar i användardefinierade serverroller kan inte lägga till andra serverprinciper i rollen.
Notera
Handlingar på servernivå är inte tillgängliga i SQL Database eller Azure Synapse Analytics. Mer information om SQL Database finns i Kontrollera och bevilja databasåtkomst.
Fasta roller på servernivå
I följande tabell visas de fasta rollerna på servernivå och deras funktioner.
Roll på fast servernivå | Beskrivning |
---|---|
sysadmin | Medlemmar i den fasta serverrollen sysadmin kan utföra vilken aktivitet som helst på servern. |
serveradmin | Medlemmar i den fasta serverrollen serveradmin kan ändra konfigurationsalternativ för hela servern och stänga ner servern. |
securityadmin | Medlemmar i den fasta serverrollen securityadmin hanterar inloggningar och deras egenskaper. De kan GRANT , DENY och REVOKE behörigheter på servernivå. De kan även GRANT , DENY och REVOKE behörigheter på databasnivå om de har tillgång till en databas. Dessutom kan de återställa lösenord för inloggningar till SQL Server.VIKTIGT: Möjligheten att bevilja åtkomst till databasmotorn och konfigurera användarbehörigheter gör att säkerhetsadministratören kan tilldela de flesta serverbehörigheter. Rollen securityadmin bör behandlas som likvärdig med rollen sysadmin. |
processadmin | Medlemmar i den fasta serverrollen processadmin kan avsluta processer som körs i en instans av SQL Server. |
setupadmin | Medlemmar i den fasta serverrollen setupadmin kan lägga till och ta bort länkade servrar med hjälp av Transact-SQL-meddelanden. (Medlemskap som sysadmin krävs när Management Studio används.) |
bulkadmin | Medlemmar i den fasta serverrollen bulkadmin kan köra BULK INSERT -anvisningen. |
diskadmin | Diskadmin-rollen för fasta servrar används för att hantera diskfiler. |
dbcreator | Medlemmar i den fasta serverrollen dbcreator kan skapa, ändra, släppa och återställa alla databaser. |
public | Alla inloggningar till SQL Server tillhör serverrollen public. När en serverhuvudman inte har beviljats eller nekats specifika behörigheter för ett säkerhetsbart objekt ärver användaren de behörigheter som har beviljats till public för det objektet. Tilldela endast offentliga behörigheter på ett objekt när du vill att objektet ska vara tillgängligt för alla användare. Du kan inte ändra medlemskap i public. Notera: public implementeras på ett annat sätt än andra roller, och behörigheter kan beviljas, nekas eller återkallas från de fasta serverrollerna public. |
Viktigt
De flesta av de behörigheter som tillhandahålls av följande serverroller är inte tillämpliga på Synapse SQL – processadmin, serveradmin, setupadmin och diskadmin.
Handlingsbehörigheter för fasta serverroller
Varje fast serverroll har tilldelats vissa behörigheter. Följande grafik visar de behörigheter som tilldelats serverrollerna.
Viktigt
Handlingsbehörigheten CONTROL SERVER liknar men är inte identisk med den fasta serverrollen sysadmin. Behörigheter innebär inte rolltillhörighet och rolltillhörighet ger inte behörighet. (CONTROL SERVER innebär t.ex. inte medlemskap i rollen sysadmin fixed server). Det är dock ibland möjligt att personifiera sig mellan roller och motsvarande behörigheter. De flesta DBCC-kommandon och många systemprocedurer kräver medlemskap i rollen sysadmin fixed server. En lista över 171 lagrade systemprocedurer som kräver sysadmin-medlemskap finns i följande blogginlägg av Andreas Wolter CONTROL SERVER vs. sysadmin/sa: permissions, systemprocedurer, DBCC, automatic schema creation and privilege escalation – caveats.
Server-Level Permissions
Endast behörigheter på servernivå kan läggas till i användardefinierade serverroller. Om du vill visa en lista över behörigheter på servernivå utför du följande anvisning. Behörigheterna på servernivå är:
SELECT * FROM sys.fn_builtin_permissions('SERVER') ORDER BY permission_name;
För mer information om behörigheter, se Behörigheter (databasmotor) och sys.fn_builtin_permissions (Transact-SQL).
Arbeta med roller på servernivå
I följande tabell förklaras de kommandon, vyer och funktioner som du kan använda för att arbeta med roller på servernivå.
Feature | Type | Description |
---|---|---|
sp_helpsrvrole (Transact-SQL) | Metadata | Returnerar en lista över roller på servernivå. |
sp_helpsrvrolemember (Transact-SQL) | Metadata | Hämtar information om medlemmarna i en roll på servernivå. |
sp_srvrolepermission (Transact-SQL) | Metadata | Visar behörigheterna för en roll på servernivå. |
IS_SRVROLEMEMBER (Transact-SQL) | Metadata | Indikerar om en SQL Server-inloggning är medlem i den angivna rollen på servernivå. |
sys.server_role_members (Transact-SQL) | Metadata | Returnerar en rad för varje medlem i varje roll på servernivå. |
sp_addsrvrolemember (Transact-SQL) | Kommando | Lägger till en inloggning som medlem i en roll på servernivå. Föråldrad. Använd ALTER SERVER ROLE i stället. |
sp_dropsrvrolemember (Transact-SQL) | Kommando | Ta bort en SQL Server-inloggning eller en Windows-användare eller grupp från en roll på servernivå. Föråldrad. Använd ALTER SERVER ROLE i stället. |
CREATE SERVER ROLE (Transact-SQL) | Command | Skapa en användardefinierad serverroll. |
ALTER SERVER ROLE (Transact-SQL) | Kommando | Ändar medlemskapet i en serverroll eller ändrar namnet på en användardefinierad serverroll. |
DROP SERVER ROLE (Transact-SQL) | Kommando | Försvinner en användardefinierad serverroll. |
IS_SRVROLEMEMBER (Transact-SQL) | Funktion | Detektiverar medlemskap i serverrollen. |
Se även
Roller på databasnivå
Säkerhetskatalogvyer (Transact-SQL)
Säkerhetsfunktioner (Transact-SQL)
Säkring av SQL Server
GRANT Server Principal Permissions (Transact-SQL)
REVOKE Server Principal Permissions (Transact-SQL)
DENY Server Principal Permissions (Transact-SQL)
Skapa en serverroll