MS SQL-Client mit Nur-Lese-Modus

Ich habe eine MS SQL-Datenbank mit einigen sehr, sehr sensiblen Daten. Wenn irgendetwas kaputt geht, stürzt der halbe Planet ins Chaos. Fast :-).

Ich habe einen Datenbankbenutzer mit einigen eingeschränkten Berechtigungen, aber nicht eingeschränkt genug, ich könnte Schaden anrichten, wenn ich einen Fehler mache. Im Grunde muss ich nur ein SELECT aus einigen Tabellen mit etwas ausgefallenem Sortieren, Filtern, Verbinden usw. machen. Also würde ich gerne eine Client-Software verwenden (ich bin an HeidiSQL gewöhnt). Ich habe jedoch wirklich Angst, dass ein dummer Klick auf eine falsche Schaltfläche die Daten beschädigt.

Gibt es eine Möglichkeit, meine eigenen Berechtigungen für nur eine Datenbanksitzung einzuschränken? Oder gibt es ein sicheres Tool, das einen Nur-Lese-Modus bietet? HeidiSQL leider nicht.

Antworten (1)

Ich denke, der einzige sichere Weg, dies zu tun, ist auf der DBMS-Seite. Wie Sie sagten, könnte ein Benutzer versehentlich etwas falsch machen, oder schlimmer noch, er könnte absichtlich etwas falsch machen. In SQL Server können Sie den Benutzer der db_datareaderRolle hinzufügen, die dem Benutzer nur Folgendes erlaubt SELECT:

Mitglieder der festen Datenbankrolle db_datareader können eine SELECT-Anweisung für jede Tabelle oder Ansicht in der Datenbank ausführen.

Sie können einen neuen Benutzer mit dieser Rolle erstellen, indem Sie den folgenden Befehl auf dem Datenbankserver ausführen:

exec sp_addrolemember 'db_datareader',YourLogin

Sehen:

Mit diesem eingeschränkten Benutzer können Sie andere Benutzer die Daten mit einem beliebigen Client wie HeidiSQL durchsuchen lassen, ohne dass sie etwas an der Datenbank ändern können.

Vielen Dank für Ihre Antwort! Das ist jedoch nicht das, wonach ich wirklich gesucht habe ... Trotzdem danke.