C# - MS SQL tárolt eljárások

MS SQL tárolt eljárások 5. rész

forráskód letöltése
Az MS SQL tárolt eljárásairól szóló cikksorozat ötödik a részében a bejelentkezésekkel kapcsolatos információkat lekérdező tárolt eljárásokat ismertetjük. Megnézzük továbbá azt is, hogy hogyan tudunk bejelentkezési jogot adni egy Windows NT felhasználónak vagy csoportnak, illetve miként tudjuk ezt a jogot törölni. Természetesen ez utóbbi feladatokat is tárolt eljárásokkal oldjuk meg.
01_xp_logininfo.sql: A bejelentkezési információk lekérdezése
Az információk lekérdezéséhez az xp_logininfo tárolt eljárást használhatjuk.
xp_logininfo [[@acctname =] 'account_name'] [,[@option =] 'all' | 'members'] 
    [,[@privelege =] variable_name OUTPUT]
Az eljárás paraméterei:
acctname
Az MS SQL-hez hozzáféréssel rendelkező Windows NT felhasználó vagy csoport neve. Ha nem adjuk meg a nevet, akkor az összes felhasználó, illetve csoport fel lesz sorolva, akiknek bejelentkezési joguk van.
Az eljárás eredményeként egy listát kapunk az alábbi szerkezettel:
Mező Típus Leírás
account name nchar(128) A Windows NT fiók teljes neve.
type char(8) A Windows NT fiók típusa, ami csoport (group), vagy felhasználó lehet (user).
privilege char(9) A fiók SQL Server privilégiumai: admin (rendszergazda), user (felhasználó), vagy null.
mapped login name nchar(128) Az SQl Server által leképezett felhasználói név
permission path nchar(128) A csoport tagság, ami engedélyezi a hozzáférést..
02_xp_loginconfig_1.sql: A bejelentkezés biztonsági beállításainak lekérdezése
Az xp_loginconfig lekérdezi az MS SQL Server biztonsági beállításait, ha az Windows NT vagy 2000 rendszeren fut.
xp_loginconfig ['config_name']
Ha megadjuk a beállítás nevét, akkor csak az adott értéket kérdezi le, míg ellenkező esetben egy listát kapunk, amelyben az alábbi adatok szerepelnek:
Adat Leírás
login mode A bejelentkezési mód típusa. Két lehetséges értéke van: Mixed (kevert: MS SQL és Windows) vagy Windows Authentication (Windows-os bejelentkezés).
default login Az alapértelmezett SQL Server login azonosító.
default domain Az alapértelmezett Windows NT tartomány a kapcsolódáshoz jogosultsággal rendelkező hálózati felhasználóknak.
audit level Naplózási szint. A lehetséges értékek: none (nincs), success (sikeres bejelentkezésnél), failure (sikertelen bejelentkezésnél), és all (mindig). A bejegyzések a hibanaplóba kerülnek, amelyeket a Windows NT Eseménynapló alkalmazásában nézhetünk meg.
set hostname Rámutat, hogy a kliens login rekordban a hostname helyettesítve lett-e a Windows NT felhasználói névvel. Lehetséges értékei lehetnek: true (igen) vagy false (nem). Ha ez be van állítva, akkor a hálózati felhasználói név megjelenik az sp_who eljárás kimenetén.
map _ Megmutatja, hogy mely speciális Windows NT karakterek lettek leképezve érvényes SQL Server _ (aláhúzás) karakterekké. Lehetséges értékei: domain separator (alapértelmezett), szóköz, null, vagy bármilyen egyszerű karakter.
map $ Megmutatja, hogy mely speciális Windows NT karakterek lettek leképezve érvényes SQL Server $ (dollár) karakterekké. Lehetséges értékei: domain separator (alapértelmezett), szóköz, null, vagy bármilyen egyszerű karakter.
map # Megmutatja, hogy mely speciális Windows NT karakterek lettek leképezve érvényes SQL Server # karakterekké. Lehetséges értékei: domain separator (alapértelmezett), szóköz, null, vagy bármilyen egyszerű karakter.
04_xp_revokelogin.sql: Bejelentkezési jogosultság megvonása egy felhasználótól
Egy adott felhasználó bejelentkezési jogosultságát az xp_revokelogin eljárással tudjuk törölni.
xp_revokelogin {[@loginame =] 'login'}
A loginname paraméterben adhatjuk meg annak a Windows NT felhasználónak vagy csoportnak a nevét, akinek a jogosultságát törölni szeretnénk.
05_xp_grantlogin.sql: Bejelentkezési jogosultság megadása
Bejelentkezési jogosultságot az xp_grantlogin eljárással tudunk adni egy Windows NT felhasználónak vagy csoportnak.
sp_grantlogin [@loginame =] 'login'
A loginame paraméterben kell megadni a felhasználó vagy csoport nevét.

MS SQL tárolt eljárások cikksorozat