SQL Server Grant

SQL Server Grant
In diesem Artikel werden Sie verstehen.

SQL Server Securable und Principal

Ein Sicherbar bezieht sich auf die Ressourcen, die der SQL Server -Datenbank -Engine -Autorisierungssystem zugreifen kontrolliert. Ein Beispiel wäre eine Datenbanktabelle.

Ein Principal bezieht sich auf eine Entität, die Zugriff auf eine SQL Server -Ressource erfordert. Zum Beispiel ist ein Benutzer, der Berechtigungen auf einer Tabelle anfordert.

SQL Server Grant Anweisung

Das Folgende zeigt die Syntax des Zuschussbefehls in SQL Server:

Gewährung von Berechtigungen
Auf Securable to Principal;

Sie müssen die Erlaubnis angeben, die Sie dem Auftraggeber als von Kommas getrennte Liste zuweisen möchten.

Mit dem Schlüsselwort auf dem Schlüsselwort können Sie das Sicherheitsbereich angeben, auf das die Berechtigungen angewendet werden. Mit dem TO -Keyword können Sie schließlich das Zielprinzip festlegen.

Wenn Sie beispielsweise einen Benutzer erstellen, der mit der Erstellung der Benutzeranweisung erstellen. Es ist daher wichtig, die Zuschussanweisung zu verwenden, um die Berechtigungen für diesen Benutzer festzulegen.

Nehmen wir ein Beispiel.

Beispielanmelde erstellen

Beginnen wir mit dem Erstellen eines Beispiel -Anmeldes für Illustrationszwecke. Die Abfrage ist wie unten angegeben:

Erstellen Sie Login LinuxHint
mit Passwort = "Passwort";

Der obige Befehl sollte einen Benutzer mit dem Benutzernamen LinuxHint und dem angegebenen Passwort erstellen.

Beispieldatenbank erstellen

Wir können eine Datenbank erstellen, in der der Benutzer wohnt, sobald wir eine Anmeldung definiert haben. Die Abfragen sind wie gezeigt:

Datenbank fallen, wenn existiert Resolver;
Datenbank Resolver erstellen;
Resolver verwenden;
Droptabelle, wenn Einträge existieren;
Erstellen von Tabelleneinträgen (
Id int nicht null Identität (1,
1) Primärschlüssel,
server_name varchar (50),
server_address varchar (255) nicht null,
compression_method varchar (100) Standard 'Keine',
size_on_disk float nicht null,
size_compressed Float,
Total_records int nicht null,
init_date Datum
);
Einfügung
hinein
Einträge (server_name,
Serveradresse,
Kompressionsverfahren,
size_on_disk,
size_compressed,
Total_Records,
init_date)
Werte
('MySQL', 'Localhost: 3306', 'LZ77', 90.66,40.04.560000, '2022-01-02')),
('Redis', 'Localhost: 6307', 'Snappy', 3.55.998.2.100000, '2022-03-19'),
('Postgresql', 'localhost: 5432', 'pglz', 101.2,98.01.340000, '2022-11-11'),
('Elasticsearch', 'Localhost: 9200', 'LZ4', 333.2.300.2.1200000, '2022-10-08'),
('MongoDB', 'Localhost: 27017', 'Snappy', 4.55,4.10.620000, '2021-12-12'),
('Apache Cassandra', 'Localhost: 9042', 'Zstd', 300.3.200.12.10000000, '2020-03-21');

Erstellen Sie einen Benutzer für die Anmeldung

Sobald wir die Datenbank und Tabelle erstellt haben, können wir einen Benutzer für die LinuxHint -Login erstellen wie folgt:

Resolver verwenden
Benutzer linuxHint erstellen
Für Login LinuxHint;

Melden Sie sich als neuer Benutzer an

Lassen Sie uns als Nächstes als neu erstellter Benutzer anmelden. Der Befehl ist wie gezeigt:

SetUser 'LinuxHint';

Sobald Sie sich angemeldet haben, können wir versuchen, die Tabellen anzuzeigen, indem wir den Befehl aus auswählen:

aus Einträgen auswählen;

Das Ausführen der obigen Abfrage sollte einen Fehler zurückgeben:

MSG 229, Stufe 14, Status 5, Zeile 379
Die SELECT -Genehmigung wurde in den Objekteinträgen, Datenbank 'Resolver', Schema 'DBO' abgelehnt.

Dies liegt daran.

Ergeben Sie dem Benutzer Erlaubnis

Wir müssen den Auswahlberechtigten erteilen, damit der Benutzer die in den Tabellen gespeicherten Informationen anzeigen kann.

Dazu müssen Sie sich mit dem SQL Server -Administrativkonto anmelden.

Führen Sie als nächstes die Abfrage als:

Grant Select Select on Entries to LinuxHint;

Melden Sie sich nach der Ausführung als LinuxHint -Benutzer an und verwenden Sie die Auswahlanweisung.

aus Einträgen auswählen;

In diesem Fall gibt der Befehl die Tabelle zurück, da der Benutzer Berechtigungen ausgewählt hat

Sie können dem Benutzer auch eine andere Berechtigung zuweisen, z. B. einfügen und löschen wie:

Zuschusseinfüge, löschen Einträge für LinuxHint;

In diesem Fall sollte der LinuxHint -Benutzer die Berechtigungen ausgewählt, einfügen und löschen in der Eintragstabelle.

Abschluss

In diesem Beitrag haben wir die Verwendung des Zuschussbefehls in SQL Server untersucht. Mit dem Befehl können Sie einem bestimmten Auftraggeber Berechtigungen zuweisen.