it-swarm.com.de

Wie erteile ich einem Benutzer Lesezugriff auf eine Datenbank in SQL Server?

Ich möchte einem Benutzer Zugriff auf eine bestimmte Datenbank mit Lese- und Schreibzugriff gewähren. Der Benutzer ist bereits in der Domäne, aber nicht in der Datenbank verfügbar.

Wie kann ich ihnen diesen Zugriff gewähren, indem Sie einen neuen Benutzer und ein neues Kennwort erstellen?

Jemand hat mir gesagt, dass dies nur durch Angabe des Benutzers, der Domäne und der Datenbank erfolgen kann, auf die der Benutzer zugreifen soll, ohne dass ein neuer Benutzer und ein neues Kennwort erstellt werden müssen.

Dies ist der alte Weg, den ich implementiert habe. Es funktioniert, erstellt jedoch einen neuen Anmeldenamen und Benutzer, anstatt den in der Domäne verfügbaren zu verwenden:

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

Dies ist ein zweistufiger Prozess:

  1. sie müssen für diesen Benutzer basierend auf seinem Windows-Konto ein Login für SQL Server erstellen

    CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS;
    
  2. sie müssen diese Anmeldeberechtigung erteilen, um auf eine Datenbank zugreifen zu können:

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

Sobald Sie diesen Benutzer in Ihrer Datenbank haben, können Sie ihm alle gewünschten Rechte erteilen, z. Sie können ihm die Datenbankrolle db_datareader zuweisen, um alle Tabellen zu lesen.

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