Entità (Motore di database)Principals (Database Engine)

QUESTO ARGOMENTO SI APPLICA A: sìSQL Server (a partire dalla versione 2008)sìDatabase SQL di AzuresìAzure SQL Data Warehouse sìParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Leentità possono richiedere risorse di SQL ServerSQL Server .Principals are entities that can request SQL ServerSQL Server resources. Analogamente ad altri componenti del modello di autorizzazione di SQL ServerSQL Server , le entità possono essere organizzate in una gerarchia.Like other components of the SQL ServerSQL Server authorization model, principals can be arranged in a hierarchy. Il campo di influenza di un'entità dipende dall'ambito della definizione dell'entità (Windows, server o database) e dal tipo di entità (indivisibile o raccolta).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. Un account di accesso di Windows è un esempio di entità indivisibile mentre un gruppo di Windows è un esempio di entità costituita da una raccolta.A Windows Login is an example of an indivisible principal, and a Windows Group is an example of a principal that is a collection. Ogni entità dispone di un ID di sicurezza (SID).Every principal has a security identifier (SID). Questo argomento si applica a tutte le versioni di SQL Server, ma sono valide alcune restrizioni relative alle entità a livello di server nel database SQL o in SQL Data Warehouse.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.

Entità a livello di SQL ServerSQL Server-level principals

  • Accesso per l'autenticazione di SQL ServerSQL Server SQL ServerSQL Server authentication Login
  • Account di accesso con autenticazione di Windows per un utente di WindowsWindows authentication login for a Windows user
  • Account di accesso con autenticazione di Windows per un gruppo di WindowsWindows authentication login for a Windows group
  • Account di accesso con autenticazione di Azure Active Directory per un utente ADAzure Active Directory authentication login for a AD user
  • Account di accesso con autenticazione di Azure Active Directory per un gruppo ADAzure Active Directory authentication login for a AD group
  • Ruolo del serverServer Role

    Entità a livello di databaseDatabase-level principals

  • Utente del database (sono disponibili 11 tipi di utenti.Database User (There are 11 types of users. Per altre informazioni, vedere CREATE USER).For more information, see CREATE USER.)

  • Ruolo del databaseDatabase Role
  • Ruolo applicazioneApplication Role

sa Loginsa Login

L'account di accesso SQL ServerSQL Server sa è un'entità a livello di server.The SQL ServerSQL Server sa log in is a server-level principal. Per impostazione predefinita, questo account viene creato durante l'installazione di un'istanza.By default, it is created when an instance is installed. A partire da SQL Server 2005SQL Server 2005, il database predefinito di sa è il database master.Beginning in SQL Server 2005SQL Server 2005, the default database of sa is master. diversamente da quanto consentito nelle versioni precedenti di SQL ServerSQL Server.This is a change of behavior from earlier versions of SQL ServerSQL Server. L'account di accesso sa è un membro del ruolo predefinito del database sysadmin.The sa login is a member of the sysadmin fixed database role. L'account di accesso sa dispone di tutte le autorizzazioni per il server e non può essere limitato.The sa login has all permissions on the server and cannot be limited. L'account di accesso sa non può essere eliminato, ma può essere disabilitato in modo da impedirne l'uso.The sa login cannot be dropped, but it can be disabled so that no one can use it.

Utente dbo e schema dbodbo User and dbo Schema

L'utente dbo è un'entità utente speciale in ogni database.The dbo use is a special user principal in each database. Tutti gli amministratori di SQL Server, i membri del ruolo predefinito del server sysadmin, l'account di accesso sa e i proprietari del database accedono al database come utenti dbo.All SQL Server administrators, members of the sysadmin fixed server role, sa login, and owners of the database, enter databases as the dbo user. L'utente dbo dispone di tutte le autorizzazioni nel database e non può essere limitato o eliminato.The dbo user has all permissions in the database and cannot be limited or dropped. dbo rappresenta il proprietario del database, ma l'account utente dbo non equivale al ruolo predefinito del database db_owner, mentre il ruolo predefinito del database db_owner non equivale all'account utente registrato come proprietario del database.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.
L'utente dbo è proprietario dello schema dbo.The dbo user owns the dbo schema. Lo schema dbo è lo schema predefinito per tutti gli utenti, a meno che non venga specificato uno schema diverso.The dbo schema is the default schema for all users, unless some other schema is specified. Lo schema dbo non può essere eliminato.The dbo schema cannot be dropped.

Ruolo del server public e ruolo del databasepublic Server Role and Database Role

Ogni account di accesso appartiene al ruolo predefinito del server public e ogni utente del database appartiene al ruolo del database public.Every login belongs to the public fixed server role, and every database user belongs to the public database role. Quando a un account di accesso o a un utente non sono state concesse o negate autorizzazioni specifiche per un'entità a protezione diretta, l'account di accesso o l'utente eredita le autorizzazioni concesse al ruolo public su tale entità a protezione diretta.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. Il ruolo predefinito del server public e il ruolo predefinito del database public non possono essere eliminati.The public fixed server role and the public fixed database role cannot be dropped. Tuttavia è possibile revocare le autorizzazioni dei ruoli public.However you can revoke permissions from the public roles. Esistono numerose autorizzazioni assegnate per impostazione predefinita ai ruoli public.There are many permissions that are assigned to the public roles by default. La maggior parte di queste autorizzazioni è necessaria per le operazioni di routine nel database, ovvero quelle operazioni che tutti gli utenti devono essere in grado di eseguire.Most of these permissions are needed for routine operations in the database; the type of things that everyone should be able to do. Prestare attenzione durante la revoca delle autorizzazioni dell'account di accesso public o dell'utente perché questa operazione ha ripercussioni su tutti gli account di accesso e su tutti gli utenti.Be careful when revoking permissions from the public login or user, as it will affect all logins/users. In genere non è consigliabile negare le autorizzazioni all'account di accesso public perché l'istruzione deny esegue l'override di qualsiasi istruzione grant che è possibile eseguire sui singoli utenti.Generally you should not deny permissions to public, because the deny statement overrides any grant statements you might make to individuals.

INFORMATION_SCHEMA e utenti e schemi sysINFORMATION_SCHEMA and sys Users and Schemas

Ogni database include due entità visualizzate come utenti nelle viste del catalogo: INFORMATION_SCHEMA e sys.Every database includes two entities that appear as users in catalog views: INFORMATION_SCHEMA and sys. Queste entità sono richieste internamente dal motore di database.These entities are required for internal use by the Database Engine. Pertanto non possono essere modificate o eliminate.They cannot be modified or dropped.

Account di accesso basati su certificati di SQL ServerCertificate-based SQL Server Logins

Le entità del server i cui nomi sono racchiusi tra due simboli di cancelletto (##) sono solo per uso interno di sistema.Server principals with names enclosed by double hash marks (##) are for internal system use only. Al momento dell'installazione di SQL ServerSQL Server vengono create le seguenti entità che non devono essere eliminate.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##

L'utente GuestThe guest User

Ogni database include un guest.Each database includes a guest. Le autorizzazioni garantite all'utente guest sono ereditate dagli utenti che hanno accesso al database ma non dispongono di un account utente nel database.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. Non è possibile eliminare l'utente guest, ma è possibile disabilitarlo revocando la relativa autorizzazione CONNECT.The guest user cannot be dropped, but it can be disabled by revoking it's CONNECT permission. L'autorizzazione CONNECT può essere revocata eseguendo REVOKE CONNECT FROM GUEST; all'interno di qualsiasi database diverso da master o tempdb.The CONNECT permission can be revoked by executing REVOKE CONNECT FROM GUEST; within any database other than master or tempdb.

Per informazioni sulla progettazione di un sistema di autorizzazioni, vedere Introduzione alle autorizzazioni del motore di database.For information about designing a permissions system, see Getting Started with Database Engine Permissions.

In questa sezione della documentazione online di SQL ServerSQL Server , sono inclusi i seguenti argomenti:The following topics are included in this section of SQL ServerSQL Server Books Online:

Vedere ancheSee Also

Sicurezza di 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)
Ruoli a livello di server Server-Level Roles
Ruoli a livello di databaseDatabase-Level Roles