SQL Server turvaline ja peamine
Turvaline viitab ressurssidele, mida SQL Serveri andmebaasimootori autoriseerimissüsteem kontrollib. Näiteks võib tuua andmebaasitabeli.
Põhiline viitab mis tahes olemile, mis vajab juurdepääsu mis tahes SQL Serveri ressursile. Näiteks kasutaja, kes taotleb tabelis õigusi, on printsipaal.
SQL Serveri toetuse avaldus
Järgmine näitab käsu GRANT süntaksit SQL Serveris:
ANDKE load
ON turvaline peamiseks;
Peate määrama komadega eraldatud loendina loa, mille soovite printsipaalile määrata.
Märksõna ON võimaldab teil määrata turvatava, millele load rakendatakse. Lõpuks võimaldab märksõna TO teil määrata sihtpõhimõtte.
Näiteks kasutaja loomine lausega CREATE USER ei määratle selle kasutaja õigusi. Seetõttu on selle kasutaja õiguste määramiseks hädavajalik kasutada avaldust GRANT.
Võtame näite.
Loo näidississelogimine
Alustuseks loome näidislogimise näitlikustamiseks. Päring on järgmine:
loo linuxhint sisselogiminewith password='password';
Ülaltoodud käsk peaks looma kasutaja kasutajanimega linuxhint ja määratud parooliga.
Loo näidisandmebaas
Saame luua andmebaasi, kus kasutaja asub pärast sisselogimise määramist. Päringud on nagu näidatud:
kukutage andmebaas, kui see on olemas, lahendaja;luua andmebaasi lahendaja;
kasuta lahendajat;
kukuta tabel, kui kirjed on olemas;
loo tabelikirjed (
id int ei ole null identiteet(1,
1) esmane võti,
serveri_nimi varchar(50),
serveri_aadress varchar(255) ei ole null,
compression_method varchar(100) vaikimisi 'none',
size_on_disk float ei ole null,
size_compressed float,
total_records int mitte null,
init_date kuupäev
);
sisestada
sisse
ENTRIES(serveri_nimi,
serveri aadress,
compression_method,
suurus_kettal,
size_compressed,
total_records,
init_date)
väärtused
('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');
Looge sisselogimiseks kasutaja
Kui oleme andmebaasi ja tabeli loonud, saame luua kasutaja linuxhinti sisselogimiseks järgmiselt:
kasutage lahendajatloo kasutaja linuxhint
sisselogimiseks linuxhint;
Logi sisse uue kasutajana
Järgmiseks logime sisse vastloodud kasutajana. Käsk on selline, nagu näidatud:
setuser 'linuxhint';Pärast sisselogimist saame proovida tabeleid vaadata, käivitades käsu select:
vali kirjete hulgast *;Ülaltoodud päringu käivitamine peaks tagastama veateate:
Sõnum 229, tase 14, olek 5, rida 379SELECT-luba keelati objektil 'kirjed', andmebaasi 'resolver', skeemil 'dbo'.
Selle põhjuseks on asjaolu, et linuxhinti kasutajal pole andmebaasi jaoks mingeid õigusi, sealhulgas SELECT-õigusi.
Andke kasutajale luba
Peame andma SELECT-õigused, et võimaldada kasutajal tabelitesse salvestatud teavet vaadata.
Selleks peate sisse logima SQL Serveri administraatorikontoga.
Järgmisena käivitage päring järgmiselt:
luba valida linuxhinti kirjetel;Pärast käivitamist logige sisse linuxhinti kasutajana ja kasutage käsku SELECT.
vali kirjete hulgast *;Sel juhul tagastab käsk tabeli, kuna kasutajal on SELECT õigused
Saate kasutajale määrata ka muid õigusi, näiteks sisestada ja kustutada järgmiselt:
luba sisestada, kustutada linuxhinti kirjed;sel juhul peaksid linuxhinti kasutajal olema kirjete tabelis õigused SELECT, INSERT ja DELETE.
Järeldus
Selles postituses uurisime käsu GRANT kasutamist SQL Serveris. Käsk võimaldab määrata antud printsipaalile õigusi.