Dela via


Huvudnamn (databasmotor)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-databas i Microsoft Fabric

Principaler är entiteter som kan begära SQL Server-resurser. Precis som andra komponenter i auktoriseringsmodellen för SQL Server kan principaler ordnas i en hierarki. Omfattningen av påverkan av en huvudman beror på omfånget för definitionen av huvudmannen (Windows, server, databas) och om huvudmannen är odelbar eller en samling. En Windows-inloggning är ett exempel på ett odelbart huvudnamn och en Windows-grupp är ett exempel på ett huvudnamn som är en samling. Varje huvudkonto har en säkerhetsidentifierare (SID). Det här avsnittet gäller för alla versioner av SQL Server, men det finns vissa begränsningar för huvudnamn på servernivå i SQL Database eller Azure Synapse Analytics.

Anmärkning

Microsoft Entra-ID kallades tidigare Azure Active Directory (Azure AD).

Principer på SQL Server-nivå

  • Inloggning för SQL Server-autentisering
  • Windows-autentiseringsinloggning för en Windows-användare
  • Windows-autentiseringsinloggning för en Windows-grupp
  • Microsoft Entra-autentiseringsinloggning för en Microsoft Entra-användare
  • Microsoft Entra-autentiseringsinloggning för en Microsoft Entra-grupp
  • Server Roll

Principaler på databasnivå

  • Databasanvändare (det finns 12 typer av användare. Mer information finns i CREATE USER (Transact-SQL).)
  • Databasroll
  • Programroll

sa Logga in

SQL Server-inloggningen sa är ett servernivåhuvudkonto. Som standard skapas den när en instans installeras. Från och med SQL Server 2005 (9.x) är standarddatabasen för sa master. Det här är en ändring av beteendet från tidigare versioner av SQL Server. Inloggningen sa är medlem i den sysadmin fasta servernivårollen. Inloggningen sa har alla behörigheter på servern och kan inte begränsas. Inloggningen sa kan inte tas bort, men den kan inaktiveras så att ingen kan använda den.

dbo-användare och dbo-schema

Användaren dbo är ett särskilt användarhuvudnamn i varje databas. Alla SQL Server-administratörer, medlemmar i den fasta serverrollen sysadmin, sa-inloggning och ägare av databasen går in i databaser som dbo-användare. Användaren dbo har alla behörigheter i databasen och kan inte begränsas eller tas bort. dbo står för databasägaren, men dbo användarkontot är inte samma som den db_owner fasta databasrollen, och den db_owner fasta databasrollen är inte samma som användarkontot som registreras som databasens ägare.
Användaren dbo äger dbo schemat. Schemat dbo är standardschemat för alla användare, såvida inte något annat schema har angetts. Schemat dbo kan inte tas bort.

offentlig serverroll och databasroll

Varje inloggning tillhör den public fasta serverrollen och varje databasanvändare tillhör databasrollen public . När inloggningar eller användare inte har fått specifika behörigheter beviljade eller nekade för ett säkerhetsmässigt objekt, ärver inloggningen eller användaren de behörigheter som beviljats till allmänheten för den säkerhetsmässiga objektet. Det går inte att ta bort den public fasta serverrollen och den public fasta databasrollen. Du kan dock återkalla behörigheter från rollerna public . Det finns många behörigheter som tilldelas rollerna public som standard. De flesta av dessa behörigheter krävs för rutinåtgärder i databasen. vilken typ av saker som alla ska kunna göra. Var försiktig när du återkallar behörigheter från den offentliga inloggningen eller användaren, eftersom det påverkar alla inloggningar/användare. I allmänhet bör du inte neka behörigheter till allmänheten, eftersom neka-instruktionen åsidosätter eventuella tilldelningsinstruktioner som du kan göra till enskilda användare.

INFORMATION_SCHEMA och sys-användare och scheman

Varje databas innehåller två entiteter som visas som användare i katalogvyer: INFORMATION_SCHEMA och sys. Dessa entiteter krävs för intern användning av databasmotorn. De kan inte ändras eller tas bort.

Certifikatbaserade SQL Server-inloggningar

Serverhuvudnamn med namn som omges av dubbla hash-markeringar (##) är endast för internt systembruk. Följande huvudnamn skapas från certifikat när SQL Server installeras och bör inte tas bort.

  • ##MS_SQLResourceSigningCertificate##
  • ##MS_SQLReplikationssigneringscertifikat##
  • ##MS_SQLAuthenticatorCertificate##
  • ##MS_AgentSigningCertificate##
  • ##MS_PolicyEventProcessingLogin##
  • ##MS_PolicySigningCertificate##
  • ##MS_PolicyTsqlExecutionLogin##

Dessa huvudkonton har inte lösenord som kan ändras av administratörer eftersom de baseras på certifikat som utfärdats till Microsoft.

Gästanvändaren

Varje databas innehåller en guest. Behörigheter som beviljas användaren guest ärvs av användare som har åtkomst till databasen, men som inte har något användarkonto i databasen. Det guest går inte att ta bort användaren, men den kan inaktiveras genom att dess CONNECT-behörighet återkallas. Connect-behörigheten kan återkallas genom att REVOKE CONNECT FROM GUEST; köras i en annan databas än master eller tempdb.

Begränsningar

  • I SQL-databasen i Microsoft Fabric stöds endast användare och roller på databasnivå. Inloggningar, roller och sa-kontot på servernivå är inte tillgängliga. I SQL Database i Microsoft Fabric är Microsoft Entra-ID för databasanvändare den enda autentiseringsmetod som stöds. Mer information finns i Auktorisering i SQL-databasen i Microsoft Fabric.

Information om hur du utformar ett behörighetssystem finns i Komma igång med databasmotorbehörigheter.

Följande avsnitt ingår i det här avsnittet av SQL Server Books Online: