Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per accedere a un'istanza di Microsoft SQL Server, un utente deve disporre di un account di accesso SQL Server valido. Questo login è utilizzato nel processo di autenticazione che verifica se il principale è autorizzato a connettersi all'istanza di SQL Server. Gli accessi di SQL Server in un'istanza del server sono visibili nella vista del catalogo sys.server_principals e nella vista di compatibilità sys.syslogins.
Gli account di accesso di SQL Server accedono a singoli database usando un utente del database di cui è stato eseguito il mapping all'account di accesso di SQL Server. Esistono due eccezioni a questa regola:
Account guest.
Si tratta di un account che, se abilitato nel database, consente agli account di accesso di SQL Server non mappati a un utente del database di immettere il database come utente guest.
Appartenenze ai gruppi di Microsoft Windows.
Un account di accesso di SQL Server creato da un utente di Windows può immettere un database se l'utente di Windows è membro di un gruppo di Windows che è anche un utente nel database.
Le informazioni sull'associazione di un login di SQL Server a un utente del database sono archiviate all'interno del database. Include il nome dell'utente del database e il SID dell'account di accesso di SQL Server corrispondente. Le autorizzazioni di questo utente del database vengono usate per l'autorizzazione nel database.
Un utente del database per il quale l'account di accesso di SQL Server corrispondente non è definito o non è definito correttamente in un'istanza del server non può accedere all'istanza di . Questo utente viene definito utente orfano del database nell'istanza del server. Un utente del database può diventare orfano se viene eliminato l'account di accesso di SQL Server corrispondente. Inoltre, un utente del database può diventare orfano dopo che un database viene ripristinato o collegato a un'istanza diversa di SQL Server. L'orfanizzazione si può verificare se l'utente del database è mappato a un SID non presente nella nuova istanza del server.
Annotazioni
Un account di accesso di SQL Server non può accedere a un database in cui manca un utente del database corrispondente , a meno che non sia abilitato guest in tale database. Per informazioni sulla creazione di un account utente del database, vedere CREATE USER (Transact-SQL).
Per rilevare gli utenti orfani
Per rilevare gli utenti orfani, eseguire le istruzioni Transact-SQL seguenti:
USE <database_name>;
GO;
sp_change_users_login @Action='Report';
GO;
L'output elenca gli utenti e gli identificatori di sicurezza (SID) corrispondenti nel database corrente che non sono collegati ad alcun account di accesso di SQL Server. Per altre informazioni, vedere sp_change_users_login (Transact-SQL).
Annotazioni
sp_change_users_login non può essere usato con gli account di accesso di SQL Server creati da Windows.
Per risolvere un utente orfano
Per risolvere un utente orfano, seguire questa procedura:
Il comando seguente ricollega l'account di accesso del server specificato da <login_name> con l'utente del database specificato da <database_user>.
USE <database_name>; GO sp_change_users_login @Action='update_one', @UserNamePattern='<database_user>', @LoginName='<login_name>'; GOPer altre informazioni, vedere sp_change_users_login (Transact-SQL).
Dopo aver eseguito il codice nel passaggio precedente, l'utente può accedere al database. L'utente può quindi modificare la password dell'account <di accesso login_name> usando la stored procedure sp_password , come indicato di seguito:
USE master GO sp_password @old=NULL, @new='password', @loginame='<login_name>'; GOImportante
Solo gli account di accesso con l'autorizzazione ALTER ANY LOGIN possono modificare la password dell'account di accesso di un altro utente. Tuttavia, solo i membri del ruolo sysadmin possono modificare le password dei membri del ruolo sysadmin .
Annotazioni
sp_password non può essere utilizzato per gli account di Microsoft Windows. Gli utenti che si connettono a un'istanza di SQL Server tramite l'account di rete di Windows vengono autenticati da Windows; pertanto, le password possono essere modificate solo in Windows.
Per altre informazioni, vedere sp_password (Transact-SQL).
Vedere anche
CREATE USER (Transact-SQL)
CREATE LOGIN (Transact-SQL)
sp_change_users_login (Transact-SQL)
sp_addlogin (Transact-SQL)
sp_grantlogin (Transact-SQL)
sp_password (Transact-SQL)
sys.sysusers (Transact-SQL)
sys.syslogins (Transact-SQL)