Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 10498|Odgovoriti: 0

[Vir] SQL Server za poizvedovanje uporabnikovih dovoljenj in vlog objektov

[Kopiraj povezavo]
Objavljeno na 28. 01. 2015 16:33:32 | | |
Poizvedba o dovoljenjih in vlogah uporabnikov objektov v SQL Serverju[@more@]

-- Poizvedba po dovoljenjih uporabnika za objekte
exec sp_helprotect NULL, 'Uporabniško ime'
-- Poizvedba o vlogi uporabnika
izvršni sp_helpuser 'Uporabniško ime'
-- Poizvedite, kateri uporabniki imajo določeno sistemsko vlogo
izvršni sp_helpsrvrolemember 'sysadmin'
-- Gnezdene vloge je mogoče poizvedovati
Z tree_roles
(
IZBERI role_principal_id, member_principal_id
OD sys.database_role_members
KJER member_principal_id = USER_ID('Uporabniško ime')
SINDIKAT VSI
IZBERI c.role_principal_id,c.member_principal_id
FROM sys.database_role_members kot c
Notranji spoj tree_roles
on tree_roles.member_principal_id = c.role_principal_id
)
SELECT distinct USER_NAME(role_principal_id) RoleName
OD tree_roles
-- Osnovna tabela, povezana z drugimi dovoljenji
Izberite * med sistemskimi uporabniki
Izberite * iz SysPermissions
-- Kdo ima dostop do moje SQL Server instance?
IZBRATI
ime kot UserName, type_desc kot UserType, is_disabled kot IsDisabled
OD sys.server_principals
kjer type_desc v('WINDOWS_LOGIN', 'SQL_LOGIN')
order by UserType, ime, IsDisabled
-- Kdo ima dostop do mojih baz podatkov?
IZBRATI
dp.name kot Uporabniško ime, dp.type_desc kot Uporabniški tip, sp.name kot LoginName sp.type_desc kot LoginType
OD sys.database_principals dp
JOIN sys.server_principals SP ON dp.principal_id = sp.principal_id
vrstni red po UserType
Izberi * izmed sys.database_principals
-- Strežniške vloge
izbrati
p.name kot UserName, p.type_desc kot UserType, pp.name kot ServerRoleName pp.type_desc kot ServerRoleType
Iz sys.server_role_members vlog
združi sys.server_principals p na roles.member_principal_id = p.principal_id
Pridruži se sys.server_principals pp na roles.role_principal_id = pp.principal_id
kje pp.name v ('sysadmin')
vrstni red po ServerRoleName, UserName
-- Vloge v podatkovnih bazah
IZBRATI
p.name kot UserName, p.type_desc kot UserType, pp.name kot DBRoleName, pp.type_desc kot DBRoleType pp.is_fixed_role kot IfFixedRole
FROM sys.database_role_members vloge
JOIN sys.database_principals p ON roles.member_principal_id = p.principal_id
JOIN sys.database_principals pp ON roles.role_principal_id = pp.principal_id
kjer pp.name v('db_owner', 'db_datawriter')
-- Kaj lahko ti uporabniki storijo?
IZBRATI
grantor.name kot GrantorName, dp.state_desc kot StateDesc, dp.class_desc kot ClassDesc, dp.permission_name kot PermissionName,
OBJECT_NAME(major_id) kot ObjectName, GranteeName = grantee.name
OD sys.database_permissions dp
PRIDRUŽITE sys.database_principals prejemniku sredstev na dp.grantee_principal_id = grantee.principal_id
JOIN sys.database_principals donator na dp.grantor_principal_id = grantor.principal_id
kjer permission_name na primer '%UPDATE%'






Prejšnji:Konfiguracija strežnika SQLSERVER
Naslednji:comboBox nastavljen na samo za branje (samo select)
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com