Creare un utente del database
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL di Azure Synapse Analytics Platform System (PDW) in Microsoft Fabric
Questo articolo descrive come creare i tipi più comuni di utenti di database. Esistono 13 tipi di utenti. L'elenco completo è disponibile nell'articolo CREATE USER. Tutte le varianti di SQL Server supportano gli utenti di database, ma non necessariamente tutti i tipi di utenti.
È possibile creare un utente del database usando SQL Server Management Studio o Transact-SQL.
Informazioni sui tipi di utenti
Management Studio offre sei opzioni per la creazione di un utente di database. Il diagramma seguente mostra le sei opzioni nel riquadro verde insieme a informazioni su cosa rappresentano.
Selezionare il tipo di utente
Per coloro che non hanno familiarità con SQL Server, può essere difficile determinare il tipo di utente che si vuole creare. Per prima cosa, chiedersi se la persona o il gruppo con l'esigenza di accedere al database ha un account di accesso.
Creare un utente che dispone di account di accesso
Gli account di accesso nel database master
sono comuni per le persone che gestiscono SQL Server e per quelle che devono accedere a molti o a tutti i database nell'istanza di SQL Server. Per questa situazione, creare un utente SQL con account di accesso. L'utente del database è l'identità dell'account di accesso quando è connesso a un database. Può utilizzare lo stesso nome dell'account, ma non si tratta di una condizione obbligatoria. In questo articolo si presuppone che esista già un account di accesso in SQL Server. Per informazioni su come creare un account di accesso, vedere Creare un account di accesso.
Creare un utente che non dispone di account di accesso
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. Vengono denominati anche utenti di database indipendente. Un utente di database indipendente non è associato a un account di accesso nel database master
. È un'ottima scelta se si vuole avere la possibilità di spostare facilmente il database tra istanze di SQL Server. Per usare questa opzione in SQL Server, un amministratore deve prima abilitare i database indipendenti per SQL Server e il database deve essere abilitato per l'indipendenza. Per altre informazioni, vedere Rendere il database portabile utilizzando database indipendenti.
Importante
Per la connessione come utente di database indipendente, è necessario specificare il nome del database indipendente come parte della stringa di connessione. Per specificare il database in SQL Server Management Studio (SSMS), nella finestra di dialogo Connetti a, fare clic su Opzioni e quindi sulla scheda Proprietà connessione.
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. Si tratta di una situazione comune quando persone esterne all'organizzazione, ad esempio i clienti, si connettono a SQL Server.
Suggerimento
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.
Background
Un utente è un'entità di sicurezza a livello di database. Affinché gli account di accesso possano eseguire la connessione al database, è necessario eseguirne il mapping a un utente di database. È possibile eseguire il mapping di un account di accesso a database diversi come utenti diversi, ma come un singolo utente per ogni database. In un database parzialmente indipendente, può essere creato un utente che non dispone di un account di accesso. Per ulteriori informazioni sugli utenti di database indipendenti, vedere CREATE USER. 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.
Importante
L'utente guest è in genere disabilitato. Non abilitarlo, a meno che non sia strettamente necessario.
È possibile concedere autorizzazioni agli utenti, in quanto entità di sicurezza. L'ambito di un utente è il database. Affinché un account di accesso possa eseguire la connessione a un database specifico nell'istanza di SQL Server, è necessario eseguirne il mapping a un utente del database. Le autorizzazioni all'interno del database vengono concesse e negate all'utente del database, non all'account di accesso.
Autorizzazioni
È richiesta l'autorizzazione ALTER ANY USER
per il database.
Creare un utente con SSMS
In Esplora oggetti espandere la cartella Database .
Espandere il database in cui si desidera creare il nuovo utente del database.
Fare clic con il pulsante destro del mouse sulla cartella Sicurezza, scegliere Nuovo e quindi Utente....
Nella finestra di dialogo Utente database - Nuovo nella pagina Generale selezionare uno dei tipi di utente seguenti nell'elenco Tipo utente:
- utente SQL con account di accesso
- Utente SQL con password (quando il database indipendente è abilitato)
- Utente SQL senza account di accesso
- Utente con mapping eseguito a un certificato
- Utente con mapping eseguito a una chiave asimmetrica
- utente di Windows
Nel database
WITH PASSWORD
SQL di Infrastruttura non è supportato, poiché l'ID Entra di Microsoft per gli utenti del database è l'unico metodo di autenticazione supportato.Quando si seleziona un'opzione, le restanti opzioni nella finestra di dialogo potrebbero cambiare. Alcune opzioni si applicano solo a tipi specifici di utenti di database. Alcune opzioni possono essere lasciate vuote e in questo caso verrà usato il valore predefinito.
Nome utente
Immettere un nome per il nuovo utente. Se si è scelto Utente di Windows nell'elenco Tipo utente, è anche possibile fare clic sui puntini di sospensione (...) per aprire la finestra di dialogo Seleziona utente o gruppo.
Nome account di accesso
Immettere l'account di accesso per l'utente. In alternativa, fare clic sui puntini di sospensione (...) per aprire la finestra di dialogo Seleziona account di accesso. È disponibileNome account di accesso se si seleziona Utente SQL con account di accesso o Utente di Windows dall'elenco Tipo di utente .
Password e Conferma password
Immettere una password per gli utenti che eseguono l'autenticazione nel database.
Lingua predefinita
Immettere la lingua predefinita dell'utente.
Schema predefinito
Immettere lo schema che diventerà proprietario degli oggetti creati da questo utente. In alternativa, fare clic sui puntini di sospensione (...) per aprire la finestra di dialogo Seleziona schema. È 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 .
Nome certificato
Immettere il certificato da usare per l'utente del database. In alternativa, fare clic sui puntini di sospensione (...) per aprire la finestra di dialogo Seleziona certificato. È disponibileNome certificato se si seleziona Utente con mapping eseguito a un certificato dall'elenco Tipo di utente .
Nome chiave asimmetrica
Immettere la chiave da usare per l'utente del database. In alternativa, fare clic sui puntini di sospensione (...) per aprire la finestra di dialogo Seleziona chiave asimmetrica. È disponibileNome chiave asimmetrica se si seleziona Utente con mapping eseguito a una chiave asimmetrica dall'elenco Tipo di utente .
Seleziona OK.
Opzioni aggiuntive
La finestra di dialogo Utente database - Nuovo presenta diverse opzioni anche in altre quattro pagine: Schemi di proprietà, Adesione, Entità a protezione diretta e Proprietà estese.
Nella pagina Schemi di proprietà sono elencati tutti i possibili schemi che possono essere di proprietà del nuovo utente del database. 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.
Nella pagina Appartenenza sono elencati tutti i possibili ruoli di appartenenza al database che possono essere di proprietà del nuovo utente del database. 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.
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.
La pagina Proprietà estese consente di aggiungere proprietà personalizzate a utenti di database. In questa pagina sono disponibili le opzioni seguenti.
Database
Consente di visualizzare il nome del database selezionato. Il campo è di sola lettura.
Regole di confronto
Consente di visualizzare le regole di confronto utilizzate per il database selezionato. Il campo è di sola lettura.
Proprietà
Consente di visualizzare o specificare le proprietà estese relative all'oggetto. Ogni proprietà estesa è composta da una coppia nome/valore di metadati associati all'oggetto.
Puntini di sospensione (...)
Fare clic sui puntini di sospensione (…) dopo Valore per visualizzare la finestra di dialogo Valore per Proprietà estesa. Digitare o visualizzare il valore della proprietà estesa in questa finestra di dimensioni maggiori. Per ulteriori informazioni, vedere Finestra di dialogo Valore per proprietà estesa.
CANC
Consente di eliminare la proprietà estesa selezionata.
Creare un utente mediante T-SQL
In Esplora oggetti connettersi a un'istanza del motore di database.
Sulla barra Standard selezionare Nuova query.
Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui.
-- Creates the login AbolrousHazem with password '340$Uuxwp7Mcxo7Khy'. CREATE LOGIN AbolrousHazem WITH PASSWORD = '340$Uuxwp7Mcxo7Khy'; GO -- Creates a database user for the login created previously. CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem; GO
Per ulteriori informazioni, vedere CREATE USER, che contiene molti altri esempi per Transact-SQL.