-- Spør i brukerens objekttillatelser
exec sp_helprotect NULL, 'Brukernavn'
-- Spør brukerens rolle
exec sp_helpuser 'Brukernavn'
-- Spør hvilke brukere som har en spesifisert systemrolle
Executive sp_helpsrvrolemember 'sysadmin'
-- Nestede roller kan forespørres
MED tree_roles som
(
VELG role_principal_id, member_principal_id
FRA sys.database_role_members
HVOR member_principal_id = USER_ID('Brukernavn')
UNION ALLE
VELG c.role_principal_id,c.member_principal_id
FRA sys.database_role_members som c
indre sammenfalle tree_roles
på tree_roles.medlem_principal_id = c.role_principal_id
)
VELG distinkt USER_NAME(role_principal_id) Rollenavn
FRA tree_roles
-- Grunnleggende tabell relatert til andre tillatelser
velg * fra sysusers
Velg * fra syspermissions
-- Hvem har tilgang til min SQL Server-instans?
VELGE
navn som BrukerNavn, type_desc som BrukerType, is_disabled som IsDisabled
FRA sys.server_principals
hvor type_desc i('WINDOWS_LOGIN', 'SQL_LOGIN')
bestilling etter BrukerType, navn, IsDeaktivert
-- Hvem har tilgang til mine databaser?
VELGE
dp.name som BrukerNavn, dp.type_desc som BrukerType, sp.name som LoginName, sp.type_desc som LoginType
FRA sys.database_principals dp
BLI MED sys.server_principals SP PÅ dp.principal_id = sp.principal_id
rekkefølge etter UserType
Velg * fra sys.database_principals
-- Serverroller
velge
p.name som UserName, p.type_desc som UserType, pp.name som ServerRoleName, pp.type_desc som ServerRoleType
fra sys.server_role_members roller
Bli med sys.server_principals p på roles.member_principal_id = p.principal_id
Bli med sys.server_principals PP på roles.role_principal_id = pp.principal_id
hvor pp.name in('sysadmin')
orden etter ServerRoleName, UserName
-- Databaseroller
VELGE
p.name som UserName, p.type_desc som UserType, pp.name som DBRoleName, pp.type_desc som DBRoleType, pp.is_fixed_role som IfFixedRole
FRA sys.database_role_members roller
BLI MED sys.database_principals p PÅ roles.member_principal_id = p.principal_id
BLI MED sys.database_principals PP PÅ roles.role_principal_id = pp.principal_id
hvor pp.name i('db_owner', 'db_datawriter')
-- Hva kan disse brukerne gjøre?
VELGE
grantor.name som GrantorName, dp.state_desc som StateDesc, dp.class_desc som ClassDesc, dp.permission_name som PermissionName ,
OBJECT_NAME(major_id) som ObjectName, GranteeName = grantee.name
FRA sys.database_permissions DP
BLI med sys.database_principals mottaker på dp.grantee_principal_id = grantee.principal_id
BLI med sys.database_principals giveren på dp.grantor_principal_id = grantor.principal_id
hvor permission_name som '%OPPDATERING%'