Creazione di un utente di databaseCreate a Database User

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

Questo argomento descrive come creare i tipi più comuni di utenti di database.This topic describes how to create the most common types of database users. Esistono undici tipi di utenti.There are eleven type of users. L'elenco completo è disponibile nell'argomento CREATE USER (Transact-SQL).The complete list is provided in the topic CREATE USER (Transact-SQL). Tutte le varianti di SQL ServerSQL Server supportano gli utenti di database, ma non necessariamente tutti i tipi di utenti.All varieties of SQL ServerSQL Server support database users, but not necessarily all types of users.

È possibile creare un utente del database con SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.You can create a database user by using SQL Server Management StudioSQL Server Management Studio or by using Transact-SQLTransact-SQL.

Informazioni sui tipi di utenti Understanding the Types of Users

Management StudioManagement Studio offre 6 opzioni per la creazione di un utente di database. presents 6 options when creating a database user. Nella figura seguente le 6 opzioni sono indicate nel riquadro verde insieme a informazioni su cosa rappresentano.The following graphic shows the 6 options in the green box, and indicates what they represent.

TypesOfUsersTypesOfUsers

Selezione del tipo di utenteSelecting the Type of User

Account di accesso o utente non mappato a un account di accessoLogin or user that is not mapped to a login

Per coloro che non hanno familiarità con SQL ServerSQL Server, può essere difficile determinare il tipo di utente che si vuole creare.If you are new to SQL ServerSQL Server, it can be difficult to determine what type of user you want to create. Per prima cosa, chiedersi se la persona o il gruppo con l'esigenza di accedere al database ha un account di accesso.First ask yourself, does the person or group that needs to access the database have a login? Gli account di accesso nel database master sono comuni per le persone che gestiscono SQL ServerSQL Server e per quelle che devono accedere a molti o a tutti i database nell'istanza di SQL ServerSQL Server.Logins in the master database are common for the people who manage the SQL ServerSQL Server and for people who need to access many or all of the database on the instance of SQL ServerSQL Server. Per questa situazione, creare un utente SQL con account di accesso.For this situation, you will create a SQL user with login. L'utente del database è l'identità dell'account di accesso quando è connesso a un database.The database user is the identity of the login when it is connected to a database. Può utilizzare lo stesso nome dell'account, ma non si tratta di una condizione obbligatoria.The database user can use the same name as the login, but that is not required. In questo argomento si presuppone che esista già un account di accesso in SQL ServerSQL Server.This topic assumes that a login already exists in SQL ServerSQL Server. Per informazioni su come creare un account di accesso, vedere Creare un account di accesso.For information about how to create a login, see Create a Login

Se la persona o il gruppo che deve accedere al database non ha un account di accesso e deve accedere solo a uno o alcuni database, creare un utente di Windows o un utente SQL con password.If the person or group that needs to access the database does not have a login and if they only need access to one or few databases, create a Windows user or a SQL user with password. Noto anche come utente di database indipendente, questo tipo di utente non è associato a un account di accesso nel database master.Also called a contained database user, it is not associated with a login in the master database. È un'ottima scelta se si vuole avere la possibilità di spostare facilmente il database tra istanze di SQL ServerSQL Server.This is an excellent choice when you want to be able to easily move your database between instances of SQL ServerSQL Server. Per usare questa opzione in SQL Server 2016SQL Server 2016, un amministratore deve prima abilitare i database indipendenti per SQL ServerSQL Server e il database deve essere abilitato per l'indipendenza.To use this option on SQL Server 2016SQL Server 2016, an administrator must first enable contained databases for the SQL ServerSQL Server, and the database be enabled for containment. Per altre informazioni, vedere Utenti di database indipendente: rendere portabile un database.For more information, see Contained Database Users - Making Your Database Portable.

IMPORTANTEIMPORTANT! Per la connessione come utente di database indipendente, è necessario specificare il nome del database indipendente come parte della stringa di connessione.When connecting as a contained database user you must provide the name of the database as part of the connection string. Per specificare il database in Management StudioManagement Studio, nella finestra di dialogo Connetti a fare clic su Opzioni e quindi sulla scheda Proprietà connessione.To specify the database in Management StudioManagement Studio, in the Connect to dialog box, click Options, and then click the Connection Properties tab.

Quando la persona che deve connettersi non può eseguire l'autenticazione con Windows, selezionare Utente SQL con password o Utente SQL con account di accesso in base a un account di accesso con autenticazione di SQL Server.Select SQL user with password or a SQL user with login based on a SQL Server authentication login, when the person connecting cannot authenticate with Windows. Si tratta di una situazione comune quando persone esterne all'organizzazione, ad esempio i clienti, si connettono a SQL ServerSQL Server.This is common when people outside of your organization (for example customers) are connecting to your SQL ServerSQL Server.

SUGGERIMENTOTIP! Per le persone all'interno dell'organizzazione, l'autenticazione di Windows è una scelta migliore, perché non dovranno ricordare un'altra password e perché l'autenticazione di Windows offre funzionalità di sicurezza aggiuntive, come Kerberos.For people inside your organization, Windows authentication is a better choice, because they won't have to remember an additional password, and because Windows authentication offers additional security features such as Kerberos.

Informazioni preliminari Background

Un utente è un'entità di sicurezza a livello di database.A user is a database level security principal. Affinché gli account di accesso possano eseguire la connessione al database, è necessario eseguirne il mapping a un utente di database.Logins must be mapped to a database user to connect to a database. È possibile eseguire il mapping di un account di accesso a database diversi come utenti diversi, ma come un singolo utente per ogni database.A login can be mapped to different databases as different users but can only be mapped as one user in each database. In un database parzialmente indipendente, può essere creato un utente che non dispone di un account di accesso.In a partially contained database, a user can be created that does not have a login. Per altre informazioni sugli utenti di database indipendenti, vedere CREATE USER (Transact-SQL).For more information about contained database users, see CREATE USER (Transact-SQL). Se è abilitato l'utente guest in un database, un account di accesso di cui non è stato eseguito il mapping a un utente del database può accedere al database come utente guest.If the guest user in a database is enabled, a login that is not mapped to a database user can enter the database as the guest user.

IMPORTANTEIMPORTANT! L'utente guest è in genere disabilitato.The guest user is ordinarily disabled. Non abilitarlo, a meno che non sia strettamente necessario.Do not enable the guest user unless it is necessary.

È possibile concedere autorizzazioni agli utenti, in quanto entità di sicurezza.As a security principal, permissions can be granted to users. L'ambito di un utente è il database.The scope of a user is the database. Affinché un account di accesso possa eseguire la connessione a un database specifico nell'istanza di SQL ServerSQL Server, è necessario eseguirne il mapping a un utente del database.To connect to a specific database on the instance of SQL ServerSQL Server, a login must be mapped to a database user. Le autorizzazioni all'interno del database vengono concesse e negate all'utente del database, non all'account di accesso.Permissions inside the database are granted and denied to the database user, not the login.

Autorizzazioni Permissions

Richiede l'autorizzazione ALTER ANY USER per il database.Requires ALTER ANY USER permission on the database.

Creare un utente con SSMS Create a user with SSMS

  1. In Esplora oggetti espandere la cartella Database .In Object Explorer, expand the Databases folder.

  2. Espandere il database in cui si desidera creare il nuovo utente del database.Expand the database in which to create the new database user.

  3. Fare clic con il pulsante destro del mouse sulla cartella Sicurezza e scegliere Nuovo e quindi Utente.Right-click the Security folder, point to New, and select User….

  4. Nella finestra di dialogo Utente di database - Nuovo nella pagina Generale selezionare uno dei seguenti tipi di utente nell'elenco Tipo utente:In the Database User – New dialog box, on the General page, select one of the following user types from the User type list:

    • Utente SQL con account di accessoSQL user with login

    • Utente SQL con passwordSQL user with password

    • Utente SQL senza account di accessoSQL user without login

    • Utente mappato a un certificatoUser mapped to a certificate

    • Utente mappato a una chiave asimmetricaUser mapped to an asymmetric key

    • Utente di WindowsWindows user

  5. Quando si seleziona un'opzione, le restanti opzioni nella finestra di dialogo potrebbero cambiare.When you select an option, the remaining options in the dialog may change. Alcune opzioni si applicano solo a tipi specifici di utenti di database.Some options only apply to specific types of database users. Alcune opzioni possono essere lasciate vuote e in questo caso verrà usato il valore predefinito.Some options can be left blank and will use a default value.

    Nome utenteUser name
    Immettere un nome per il nuovo utente.Enter a name for the new user. Se si è scelto Utente di Windows nell'elenco Tipo utente, è possibile fare clic sui puntini di sospensione (...) per aprire la finestra di dialogo Select User or Group (Seleziona utente o gruppo).If you have chosen Windows user from the User type list, you can also click the ellipsis (…) to open the Select User or Group dialog box.

    Nome account di accessoLogin name
    Immettere l'account di accesso per l'utente.Enter the login for the user. In alternativa, fare clic sui puntini di sospensione (...) per aprire la finestra di dialogo Seleziona account di accesso.Alternately, click the ellipsis (…) to open the Select Login dialog box. È disponibileNome account di accesso se si seleziona Utente SQL con account di accesso o Utente di Windows dall'elenco Tipo di utente .Login name is available if you select either SQL user with login or Windows user from the User type list.

    Password e Conferma passwordPassword and Confirm password
    Immettere una password per gli utenti che eseguono l'autenticazione nel database.Enter a password for users who authenticate at the database.

    Lingua predefinitaDefault language
    Immettere la lingua predefinita dell'utente.Enter the default language of the user.

    Schema predefinitoDefault schema
    Immettere lo schema che diventerà proprietario degli oggetti creati da questo utente.Enter the schema that will own objects created by this user. In alternativa, fare clic sui puntini di sospensione (...) per aprire la finestra di dialogo Seleziona schema.Alternately, click the ellipsis (…) to open the Select Schema dialog box. È disponibileSchema predefinito se si seleziona Utente SQL con account di accesso, Utente SQL senza account di accessoo Utente di Windows nell'elenco Tipo di utente .Default schema is available if you select either SQL user with login, SQL user without login, or Windows user from the User type list.

    Nome certificatoCertificate name
    Immettere il certificato da usare per l'utente del database.Enter the certificate to be used for the database user. In alternativa, fare clic sui puntini di sospensione (...) per aprire la finestra di dialogo Seleziona certificato.Alternately, click the ellipsis (…) to open the Select Certificate dialog box. È disponibileNome certificato se si seleziona Utente con mapping eseguito a un certificato dall'elenco Tipo di utente .Certificate name is available if you select User mapped to a certificate from the User type list.

    Nome chiave asimmetricaAsymmetric key name
    Immettere la chiave da usare per l'utente del database.Enter the key to be used for the database user. In alternativa, fare clic sui puntini di sospensione (...) per aprire la finestra di dialogo Seleziona chiave asimmetrica.Alternately, click the ellipsis (…) to open the Select Asymmetric Key dialog box. È disponibileNome chiave asimmetrica se si seleziona Utente con mapping eseguito a una chiave asimmetrica dall'elenco Tipo di utente .Asymmetric key name is available if you select User mapped to an asymmetric key from the User type list.

  6. Fare clic su OK.Click OK.

Opzioni aggiuntiveAdditional Options

La finestra di dialogo Utente di Database - Nuovo offre inoltre opzioni in altre quattro pagine: Schemi di proprietà, Appartenenza, Entità a protezione direttae Proprietà estese.The Database User – New dialog box also offers options on four additional pages: Owned Schemas, Membership, Securables, and Extended Properties.

  • Nella pagina Schemi di proprietà sono elencati tutti i possibili schemi che possono essere di proprietà del nuovo utente del database.The Owned Schemas page lists all possible schemas that can be owned by the new database user. Per aggiungere schemi o rimuoverli da un utente del database, in Schemi di proprietà di questo utenteselezionare o deselezionare le caselle di controllo accanto agli schemi.To add schemas to or remove them from a database user, under Schemas owned by this user, select or clear the check boxes next to the schemas.

  • Nella pagina Appartenenza sono elencati tutti i possibili ruoli di appartenenza al database che possono essere di proprietà del nuovo utente del database.The Membership page lists all possible database membership roles that can be owned by the new database user. Per aggiungere ruoli o rimuoverli da un utente del database, in Appartenenza a ruoli del databaseselezionare o deselezionare le caselle di controllo accanto ai ruoli.To add roles to or remove them from a database user, under Database role membership, select or clear the check boxes next to the roles.

  • Nella pagina Entità a protezione diretta sono elencate tutte le possibili entità a protezione diretta e le autorizzazioni su quelle entità a protezione diretta che possono essere concesse all'account di accesso.The Securables page lists all possible securables and the permissions on those securables that can be granted to the login.

  • La pagina Proprietà estese consente di aggiungere proprietà personalizzate a utenti di database.The Extended properties page allows you to add custom properties to database users. In questa pagina sono disponibili le opzioni seguenti.The following options are available on this page.

    DatabaseDatabase
    Consente di visualizzare il nome del database selezionato.Displays the name of the selected database. Questo campo è di sola lettura.This field is read-only.

    ConfrontoCollation
    Consente di visualizzare le regole di confronto utilizzate per il database selezionato.Displays the collation used for the selected database. Questo campo è di sola lettura.This field is read-only.

    ProprietàProperties
    Consente di visualizzare o specificare le proprietà estese relative all'oggetto.View or specify the extended properties for the object. Ogni proprietà estesa è composta da una coppia nome/valore di metadati associati all'oggetto.Each extended property consists of a name/value pair of metadata associated with the object.

    Puntini di sospensione (...)Ellipsis (…)
    Fare clic sui puntini di sospensione (…) dopo Valore per visualizzare la finestra di dialogo Valore per proprietà estesa .Click the ellipsis (…) after Value to open the Value for Extended Property dialog box. Digitare o visualizzare il valore della proprietà estesa in questa finestra di dimensioni maggiori.Type or view the value of the extended property in this larger location. Per ulteriori informazioni, vedere Finestra di dialogo Valore per proprietà estesa.For more information, see Value for Extended Property Dialog Box.

    EliminaDelete
    Consente di eliminare la proprietà estesa selezionata.Removes the selected extended property.

Creare un utente mediante T-SQL Create a user using T-SQL

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

    -- Creates the login AbolrousHazem with password '340$Uuxwp7Mcxo7Khy'.  
    CREATE LOGIN AbolrousHazem   
        WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';  
    GO  
    
    -- Creates a database user for the login created above.  
    CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;  
    GO  
    

    Per altre informazioni, vedere CREATE USER (Transact-SQL) che contiene molti altri esempi per Transact-SQLTransact-SQL.For more information, see CREATE USER (Transact-SQL) which contains many more Transact-SQLTransact-SQL examples.

Vedere ancheSee Also

Entità (motore di database) Principals (Database Engine)
Creare un account di accesso Create a Login
CREATE LOGIN (Transact-SQL) CREATE LOGIN (Transact-SQL)