Su definirane na nivou baze podataka i nalaze se unutar svake od baze
podataka.
Korisnik određene role je svaki valjan račun (WinNT korisnik ili grupa, SQL
korisnik ili grupa). Svaki korisnik role dobija prava te role, te može
dodatavati nove korisnike.
Postoje role:
Fixed database role
| Pravice
|
---|
db_owner
| Postavlja role svih drugih korisnika |
db_accessadmin
| Dodavanje/uklanjanje WinNT grupe i korisnika, te
SQL korisnika baze |
db_datareader
| Vidi sve podatke svih korisničkih tabela u bazi |
db_datawriter
| Dodaje, sprema ili briše podatke iz svih
tabela u bazi |
db_ddladmin
| Dodaje, sprema ili briše objekte u bazi
|
db_securityadmin
| Upravlja sa rolama i korisnicima SQL rola,
upravalja sa pravima korištenja objekata i naredbi u bazi |
db_backupoperator
| Kreira sigurnosne kopije |
db_denydatareader
| Ne vidi bazu |
db_denydatawriter
| Nije u stanju spremati podatke u bazu
|
Kako dodati korisnika pomoću Enterprise manager alata
- Odabrati serversku grupu, zatim željeni server
- Odabrati Databases, zatim bazu podataka u koju se rola dodaje
- Kliknite na Roles
- Na panelu detalja kliknite desno na ulogu koju želite dodati korisniku, a
zatim
kliknite na Properties
-
Kliknite na Add… zatim korisnike koje želite dodati. Moguće je
dodavati samo role koje se nalaze u toj bazi podataka.
Kako dodati korisnika pomoću T-SQL
Za dodavanje korisnika
Za odereženu ulogu koristiti
sp_addrolemember
[@rolename =] 'role', [@membername =] 'security_account'
gdje je
[@rolename =] 'role'
| ime serverske role na tekućoj bazi
|
[@membername =] 'security_account'
| račun koji želimo dodati, a da je pri tome valjani SQL server
korisnik, SQL server rola ili svaki Windows NT korinisk ili grupa sa
pravima pristupa na tekuću bazu podataka. Prilikom dodavanja Windows NT
korisnika ili grupe navesti pod kojim je korisnikom ili grupom poznat
bazi podataka (dodan izrazom sp_grantdbaccess)
|
Za uklanjanje korisnika
Koristiti izraz
sp_droprolemember
[@rolename =] 'role', [@membername =] 'security_account'
kjer je
[@rolename =] 'role'
| ime serverske uloge na tekućoj bazi |
[@membername =] 'security_account'
| račun koji bi želimo dodati, a da je pri tome valjani SQL server
korisnik, SQL server rola ili svaki Windows NT korinisk ili grupa sa
pravima pristupa na tekuću bazu podataka. Prilikom dodavanja Windows NT
korisnika ili grupe navesti pod kojim je korisnikom ili grupom poznat
bazi podataka (dodan izrazom sp_grantdbaccess)
|
Za dodavanje računa (accounts)
tekućoj bazi podataka sa SQL prijavom ili MS NS korisnikom/grupom koristiti
izraz:
sp_grantdbaccess
[@loginame =] 'login' [,[@name_in_db =] 'name_in_db' ]
gdje je
[@loginame =] 'login'
| ime prijave za novi račun u tekučoj bazi. Windows NT
prijave moraju biti sastavljene iz imena domene i korisnika (npr. DKC\test)
|
[@name_in_db =] 'name_in_db'
| ime novog računa. Ime ne smije prethodno postojati u bazi.
|
Za uklanjanje korisnika iz tekuče baze
upotrebiti izraz:
sp_revokedbaccess
[@name_in_db =] 'name'
gdje je
[@name_in_db =] 'name'
| ime MS SQL server korisnika ili ime MS Windows NT grupe/korisnika,
ime mora postojati u tekućoj bazi. Kada navodimo ime MS windows NT
korinika/grupe, potreno je je navesti ime pod kojim je on poznat u bazi
podataka (dodan
sa sp_grantdbaccess)
|
Izpis postavite
xp_loginconfig
['config_name']
gde je
'config_name'
| ime postavke, koje želimo ispisati - predefinirano je prazno i ispiše
sve postavke |