-- Užklausti vartotojo objekto teises
exec sp_helprotect NULL, 'Vartotojo vardas'
-- Užklausti vartotojo vaidmens
exec sp_helpuser 'Vartotojo vardas'
-- Užklausti, kurie vartotojai turi nurodytą sistemos vaidmenį
exec sp_helpsrvrolemember 'sysadmin'
-- Įdėtųjų vaidmenų užklausa gali būti
SU tree_roles kaip
(
PASIRINKITE role_principal_id, member_principal_id
IŠ sys.database_role_members
KUR member_principal_id = USER_ID('Vartotojo vardas')
SĄJUNGA VISI
PASIRINKITE c.role_principal_id,c.member_principal_id
NUO sys.database_role_members kaip c
vidinis sujungimas tree_roles
tree_roles.member_principal_id = c.role_principal_id
)
SELECT distinct USER_NAME(role_principal_id) RoleName
NUO tree_roles
-- Pagrindinė lentelė, susijusi su kitais leidimais
Pasirinkite * iš sistemų
Pasirinkite * iš syspermissions
-- Kas turi prieigą prie mano SQL serverio egzemplioriaus?
ŽYMĖTI
pavadinimas kaip UserName, type_desc kaip UserType is_disabled kaip IsDisabled
IŠ sys.server_principals
kur type_desc in('WINDOWS_LOGIN', 'SQL_LOGIN')
tvarka pagal UserType, name, IsDisabled
-- Kas turi prieigą prie mano duomenų bazių?
ŽYMĖTI
dp.name kaip UserName, dp.type_desc kaip UserType, sp.name kaip LoginName, sp.type_desc kaip LoginType
NUO sys.database_principals dp
JOIN sys.server_principals sp ON dp.principal_id = sp.principal_id
užsakyti pagal UserType
Pasirinkite * iš sys.database_principals
-- Serverio vaidmenys
žymėti
p.name kaip UserName, p.type_desc kaip UserType, pp.name kaip ServerRoleName, pp.type_desc kaip ServerRoleType
iš sys.server_role_members vaidmenų
prisijungti sys.server_principals p roles.member_principal_id = p.principal_id
Prisijunkite prie sys.server_principals PP roles.role_principal_id = pp.principal_id
kur pp.name ('sysadmin')
užsakyti pagal ServerRoleName, UserName
-- Duomenų bazės vaidmenys
ŽYMĖTI
p.name kaip UserName, p.type_desc kaip UserType, pp.name kaip DBRoleName, pp.type_desc kaip DBRoleType pp.is_fixed_role kaip IfFixedRole
IŠ sys.database_role_members vaidmenų
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
kur pp.name in('db_owner', 'db_datawriter')
-- Ką šie vartotojai gali padaryti?
ŽYMĖTI
grantor.name kaip GrantorName, dp.state_desc kaip StateDesc, dp.class_desc kaip ClassDesc dp.permission_name kaip PermissionName ,
OBJECT_NAME(major_id) kaip ObjectName, GranteeName = grantee.name
NUO sys.database_permissions dp
PRISIJUNKITE sys.database_principals dotacijos gavėjo dp.grantee_principal_id = grantee.principal_id
PRISIJUNKITE sys.database_principals koncesionieriumi dp.grantor_principal_id = grantor.principal_id
kur permission_name, pvz., '%UPDATE%'