-- Küsi kasutaja objektiõigusi
exec sp_helprotect NULL, 'UserName'
-- Küsi kasutaja rolli kohta
exec sp_helpuser 'UserName'
-- Küsi, millistel kasutajatel on kindel süsteemiroll
Juht sp_helpsrvrolemember 'süsteemiadministraator'
-- Pesastatud rolle saab pärida
KUS tree_roles ON
(
VALI role_principal_id, member_principal_id
sys.database_role_members
KUS member_principal_id = USER_ID('Kasutajanimi')
KÕIK AMETIÜHINGUD
VALI c.role_principal_id,c.member_principal_id
ALATES sys.database_role_members kui c
sisemine ühendus tree_roles
on tree_roles.member_principal_id = c.role_principal_id
)
SELECT erinev USER_NAME(role_principal_id) RollName
tree_roles
-- Põhitabel, mis on seotud teiste õigustega
Vali * sysusersidest
vali * syspermissions'ist
-- Kellel on ligipääs minu SQL Serveri instantsile?
VALIMA
nimi on UserName, type_desc kui UserType, is_disabled kui IsDisabled
PÄRIT sys.server_principals
kus type_desc sisse('WINDOWS_LOGIN', 'SQL_LOGIN')
järjestus kasutajatüübi, nime, IsDisabled järgi
-- Kellel on ligipääs minu andmebaasidele?
VALIMA
dp.name kui UserName, dp.type_desc kui UserType, sp.name kui LoginName, sp.type_desc kui LoginType
ALATES sys.database_principals dp
LIITU sys.server_principals SP ON dp.principal_id = sp.principal_id
tellimus kasutajatüübi järgi
Vali * sys.database_principals
-- Serveri rollid
valima
p.name kui UserName, p.type_desc kui UserType, pp.name kui ServerRoleName, pp.type_desc kui ServerRoleType
sys.server_role_members rollidest
Liitu sys.server_principals p peal roles.member_principal_id = p.principal_id
Liitu sys.server_principals PP-ga roles.role_principal_id = pp.principal_id
kus pp.name sisse ('süsteemiadministraator')
järjestus ServerRoleName, UserName järgi
-- Andmebaasi rollid
VALIMA
p.name kui UserName, p.type_desc kui UserType, pp.name kui DBRoleName, pp.type_desc kui DBRoleType, pp.is_fixed_role kui IfFixedRole
sys.database_role_members rollidest
LIITU sys.database_principals p ON roles.member_principal_id = p.principal_id
LIITU sys.database_principals PP roles.role_principal_id = pp.principal_id
kus pp.name sisse('db_owner', 'db_datawriter')
-- Mida need kasutajad teha saavad?
VALIMA
grantor.name kui GrantorName, dp.state_desc kui StateDesc, dp.class_desc kui ClassDesc, dp.permission_name kui PermissionName ,
OBJECT_NAME(major_id) kui ObjectName, GranteeName = grantee.name
ALATES sys.database_permissions dp-st
LIITU sys.database_principals saajaga dp.grantee_principal_id = grantee.principal_id
LIITU sys.database_principals toetusandjaga dp.grantor_principal_id = grantor.principal_id
kus permission_name nagu '%UPDATE%'