risposta-alla-domanda-sullo-sviluppo-web-bd.com

Come concedo l'accesso in lettura per un utente a un database in SQL Server?

Voglio concedere l'accesso a un utente a un database specifico con accesso in lettura e scrittura. L'utente è già disponibile nel dominio ma non nel DB.

Quindi, come posso dare loro quell'accesso con la creazione di un nuovo utente e password?

Qualcuno mi ha detto che si può fare solo specificando l'utente, il dominio e il DB a cui si desidera dare all'utente l'accesso senza la necessità di creare un nuovo utente e password.

Questo è il vecchio modo che stavo implementando. Funziona ma crea un nuovo accesso e un nuovo utente anziché utilizzare quello disponibile nel dominio:

use DBName;
create login a_2 with password='Aa123';
create user a_2 for login a_2;
grant insert to a_2;
grant select to a_2;
30
Q8Y

Questo è un processo in due fasi:

  1. devi creare un login a SQL Server per quell'utente, in base al suo account di Windows

    CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS;
    
  2. è necessario concedere questa autorizzazione di accesso per accedere a un database:

    USE (your database)
    CREATE USER (username) FOR LOGIN (your login name)
    

Una volta che hai quell'utente nel tuo database, puoi assegnargli tutti i diritti che desideri, ad es. potresti assegnarlo il db_datareader ruolo del database per leggere tutte le tabelle.

USE (your database)
EXEC sp_addrolemember 'db_datareader', '(your user name)'
70
marc_s