Prinzipale (Datenbank-Engine)Principals (Database Engine)

GILT FÜR: jaSQL Server jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Prinzipale sind Entitäten, die SQL ServerSQL Server -Ressourcen anfordern können.Principals are entities that can request SQL ServerSQL Server resources. Wie bei anderen Komponenten des SQL ServerSQL Server -Autorisierungsmodells können Prinzipale hierarchisch angeordnet werden.Like other components of the SQL ServerSQL Server authorization model, principals can be arranged in a hierarchy. Der Einflussbereich eines Prinzipals richtet sich nach dem Definitionsbereich des Prinzipals (Windows, Server, Datenbank) und danach, ob der Prinzipal unteilbar ist oder es sich um eine Auflistung handelt.The scope of influence of a principal depends on the scope of the definition of the principal: Windows, server, database; and whether the principal is indivisible or a collection. Ein Windows-Anmeldename ist ein Beispiel eines unteilbaren Prinzipals und eine Windows-Gruppe das eines Prinzipals, der eine Auflistung darstellt.A Windows Login is an example of an indivisible principal, and a Windows Group is an example of a principal that is a collection. Jeder Prinzipal weist eine Sicherheits-ID (SID) auf.Every principal has a security identifier (SID). Dieses Thema gilt für alle Versionen von SQL Server, jedoch gibt es bei Prinzipalen auf Serverebene in der SQL-Datenbank oder SQL Data Warehouse eine Reihe von Einschränkungen.This topic applies to all version of SQL Server, but there are some restictions on server-level principals in SQL Database or SQL Data Warehouse.

Prinzipale auf SQL Server-EbeneSQL Server-level principals

  • SQL ServerSQL Server-Anmelde-ID für die Authentifizierung authentication Login
  • Anmeldung mit Windows-Authentifizierung für Windows-BenutzerWindows authentication login for a Windows user
  • Anmeldung mit Windows-Authentifizierung für Windows-GruppeWindows authentication login for a Windows group
  • Anmeldung mit Azure Active Directory-Authentifizierung für AD-BenutzerAzure Active Directory authentication login for a AD user
  • Anmeldung mit Azure Active Directory-Authentifizierung für AD-GruppeAzure Active Directory authentication login for a AD group
  • ServerrolleServer Role

Prinzipale auf DatenbankebeneDatabase-level principals

  • Datenbankbenutzer (Es gibt 11 Benutzertypen.Database User (There are 11 types of users. Weitere Informationen finden Sie unter CREATE USER.)For more information, see CREATE USER.)
  • DatenbankrolleDatabase Role
  • AnwendungsrolleApplication Role

Anmeldename „sa“sa Login

Der SQL ServerSQL Server sa-Anmeldename ist ein Prinzipal auf Serverebene.The SQL ServerSQL Server sa log in is a server-level principal. Er wird standardmäßig bei der Installation einer Instanz erstellt.By default, it is created when an instance is installed. Ab SQL Server 2005 (9.x)SQL Server 2005 (9.x)ist die Standarddatenbank von sa „Master“.Beginning in SQL Server 2005 (9.x)SQL Server 2005 (9.x), the default database of sa is master. Dieses Verhalten unterscheidet sich von früheren Versionen von SQL ServerSQL Server.This is a change of behavior from earlier versions of SQL ServerSQL Server. Der sa-Anmeldename ist ein Mitglied der festen Datenbankrolle sysadmin.The sa login is a member of the sysadmin fixed database role. Der sa-Anmeldename besitzt alle Berechtigungen auf dem Server und kann nicht beschränkt werden.The sa login has all permissions on the server and cannot be limited. Der sa-Anmeldename kann nicht gelöscht werden. Jedoch kann er deaktiviert werden, sodass er nicht verwendet werden kann.The sa login cannot be dropped, but it can be disabled so that no one can use it.

dbo-Benutzer und dbo-Schemadbo User and dbo Schema

Der dbo-Benutzer ist ein spezieller Benutzerprinzipal in jeder Datenbank.The dbo user is a special user principal in each database. Alle SQL Server-Administratoren, Mitglieder der festen Serverrolle sysadmin, der sa-Anmeldename und die Besitzer der Datenbank treten in Datenbanken als dbo-Benutzer auf.All SQL Server administrators, members of the sysadmin fixed server role, sa login, and owners of the database, enter databases as the dbo user. Der dbo-Benutzer besitzt alle Berechtigungen in der Datenbank; er unterliegt keinen Beschränkungen und kann nicht gelöscht werden.The dbo user has all permissions in the database and cannot be limited or dropped. dbo steht für Datenbankbesitzer. Doch das dbo-Benutzerkonto ist nicht identisch mit der festen Datenbankrolle db_owner, und die feste Datenbankrolle db_owner ist wiederum nicht identisch mit dem Benutzerkonto, das als Besitzer der Datenbank aufgezeichnet ist.dbo stands for database owner, but the dbouser account is not the same as the db_owner fixed database role, and the db_owner fixed database role is not the same as the user account that is recorded as the owner of the database.
Der dbo-Benutzer besitzt das dbo-Schema.The dbo user owns the dbo schema. Das dbo-Schema ist das Standardschema für alle Benutzer, sofern kein anderes Schema angegeben wird.The dbo schema is the default schema for all users, unless some other schema is specified. Das dbo-Schema kann nicht gelöscht werden.The dbo schema cannot be dropped.

Serverrolle und Datenbankrolle „public“public Server Role and Database Role

Jeder Anmeldename gehört zu der festen Serverrolle public, und jeder Datenbankbenutzer gehört zu der Datenbankrolle public.Every login belongs to the public fixed server role, and every database user belongs to the public database role. Wenn einem Anmeldenamen oder Benutzer keine bestimmten Berechtigungen für ein sicherungsfähiges Element erteilt oder verweigert werden, erbt der Anmeldename oder Benutzer die Berechtigungen, die der Datenbankrolle public für dieses sicherungsfähige Element erteilt wurden.When a login or user has not been granted or denied specific permissions on a securable, the login or user inherits the permissions granted to public on that securable. Die feste Serverrolle public und die feste Datenbankrolle public können nicht gelöscht werden.The public fixed server role and the public fixed database role cannot be dropped. Sie können jedoch Berechtigungen für die Rollen public widerrufen.However you can revoke permissions from the public roles. Es gibt viele Berechtigungen, die den Rollen public standardmäßig zugewiesen sind.There are many permissions that are assigned to the public roles by default. Die meisten dieser Berechtigungen sind für Routinevorgänge in der Datenbank erforderlich. Diese Vorgänge sollten von jedem ausgeführt werden können.Most of these permissions are needed for routine operations in the database; the type of things that everyone should be able to do. Gehen Sie beim Aufheben der Berechtigungen von public-Anmeldenamen oder -Benutzern vorsichtig vor, da sich die Aufhebung auf alle Anmeldenamen/Benutzer auswirkt.Be careful when revoking permissions from the public login or user, as it will affect all logins/users. Im Allgemeinen sollten Sie public-Berechtigungen nicht verweigern, da die DENY-Anweisung alle GRANT-Anweisungen außer Kraft setzt, die Sie möglicherweise einzelnen Benutzern gewähren.Generally you should not deny permissions to public, because the deny statement overrides any grant statements you might make to individuals.

INFORMATION_SCHEMA und sys-Benutzer und -SchemasINFORMATION_SCHEMA and sys Users and Schemas

Jede Datenbank enthält zwei Entitäten, die in Katalogsichten als Benutzer angezeigt werden: INFORMATION_SCHEMA und sys.Every database includes two entities that appear as users in catalog views: INFORMATION_SCHEMA and sys. Diese Entitäten sind für die interne Verwendung durch die Datenbank-Engine erforderlich.These entities are required for internal use by the Database Engine. Sie können nicht geändert oder gelöscht werden.They cannot be modified or dropped.

Zertifikatbasierte SQL Server-AnmeldenamenCertificate-based SQL Server Logins

Serverprinzipale, deren Name von doppelten Nummernzeichen (##) eingeschlossen ist, sind nur für die systeminterne Verwendung vorgesehen.Server principals with names enclosed by double hash marks (##) are for internal system use only. Die folgenden Prinzipale werden bei der Installation von SQL ServerSQL Server aus Zertifikaten erstellt und sollten nicht gelöscht werden.The following principals are created from certificates when SQL ServerSQL Server is installed, and should not be deleted.

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

Diese Prinzipalkonten verfügen nicht über Kennwörter, die vom Administrator geändert werden können, da sie auf den an Microsoft ausgestellten Zertifikaten basieren.These principal accounts do not have passwords that can be changed by administrators as they are based on certificates issued to Microsoft.

Der guest-BenutzerThe guest User

Jede Datenbank enthält einen guest.Each database includes a guest. Dem guest -Benutzer erteilte Berechtigungen werden von Benutzern geerbt, die Zugriff auf die Datenbank, jedoch kein Benutzerkonto in der Datenbank besitzen.Permissions granted to the guest user are inherited by users who have access to the database, but who do not have a user account in the database. Der guest-Benutzer kann nicht gelöscht werden. Er kann jedoch deaktiviert werden, indem seine CONNECT-Berechtigung aufgehoben wird.The guest user cannot be dropped, but it can be disabled by revoking it's CONNECT permission. Die CONNECT-Berechtigung kann durch Ausführen von REVOKE CONNECT FROM GUEST; in einer beliebigen Datenbank mit Ausnahme der master- oder tempdb-Datenbank aufgehoben werden.The CONNECT permission can be revoked by executing REVOKE CONNECT FROM GUEST; within any database other than master or tempdb.

Informationen zum Entwerfen eines Berechtigungssystems finden Sie unter Getting Started with Database Engine Permissions.For information about designing a permissions system, see Getting Started with Database Engine Permissions.

Dieser Abschnitt der SQL ServerSQL Server -Onlinedokumentation umfasst die folgenden Themen:The following topics are included in this section of SQL ServerSQL Server Books Online:

Weitere Informationen finden Sie unterSee Also

Sichern von SQL Server Securing SQL Server
sys.database_principals (Transact-SQL) sys.database_principals (Transact-SQL)
sys.server_principals (Transact-SQL) sys.server_principals (Transact-SQL)
sys.sql_logins (Transact-SQL) sys.sql_logins (Transact-SQL)
sys.database_role_members (Transact-SQL) sys.database_role_members (Transact-SQL)
Rollen auf Serverebene Server-Level Roles
Rollen auf DatenbankebeneDatabase-Level Roles