Unterschied zwischen Login und Benutzer im SQL server

CREATE USER [anc] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[anc] GO 

Was ist der Unterschied zwischen dem Benutzer und dem Login.

Ich bin nicht klar, wie y wir schaffen diese Art von Benutzern?

Logins sind ein serverweites (Instanze Level) objecte. Ihr korrekter Name ist 'server Principals' (siehe sys.server_principals ). serverweiten Privilegien werden für Anmeldungen gewährt, z. B. create database oder view server state Statusberechtigungen.

Benutzer sind ein databaseobjekt, das korrekt als 'databaseprinzipien' bezeichnet wird (siehe sys.database_principals ). Sie sind die Empfänger von database-permissions, wie create table oder select .

Normalerweise wird ein Login 1-to-1 an einen Benutzer in jeder database über eine passende SID abgebildet, aber es gibt eine exception, wie alle Mitglieder der sysadmin festen serverrolle immer auf dbo abgebildet dbo .

Benutzer ohne Login sind ein spezielles Konstrukt für Service Broker Remote Identitäten (siehe Remote Service Bindings ) und für Code Signing. Du musst niemals einen anderen Kontext schaffen, und wenn du es tust, dann tust du es falsch. Benutzer ohne Login sind niemals imitiert.

Ein Login ist ein Login-Account für die gesamte SQL server-Instanz – eine Instanz kann zahlreiche databaseen enthalten.

Ein Benutzer wird auf databaseebene definiert und ist mit einem Login verknüpft, um interaktiven Zugriff bereitzustellen (Privilegien).