-- Forespørg brugerens objekttilladelser
exec sp_helprotect NULL, 'Brugernavn'
-- Forespørg brugerens rolle
exec sp_helpuser 'BrugerNavn'
-- Forespørgsel hvilke brugere der har en specificeret systemrolle
Executive sp_helpsrvrolemember 'Systemadministrator'
-- Nested roller kan forespørges
MED tree_roles som
(
VÆLG role_principal_id, member_principal_id
FRA sys.database_role_members
HVOR member_principal_id = USER_ID('Brugernavn')
FORENING ALLE
VÆLG c.role_principal_id,c.member_principal_id
FRA sys.database_role_members som c
Indre sammenføjning tree_roles
på tree_roles.medlem_principal_id = c.role_principal_id
)
SELECT særskilt USER_NAME(role_principal_id) Rollenavn
FRA tree_roles
-- Basistabel relateret til andre tilladelser
Vælg * fra sysusers
Vælg * fra syspermissions
-- Hvem har adgang til min SQL Server-instans?
MARKERE
navn som BrugerNavn, type_desc som BrugerType, is_disabled som IsDisabled
FRA sys.server_principals
hvor type_desc i('WINDOWS_LOGIN', 'SQL_LOGIN')
ordre efter BrugerType, navn, ErDeaktiveret
-- Hvem har adgang til mine databaser?
MARKERE
dp.name som BrugerNavn, dp.type_desc som BrugerType, sp.name som LoginName, sp.type_desc som LoginType
FRA sys.database_principals DP
TILMELD sys.server_principals SP PÅ dp.principal_id = sp.principal_id
rækkefølge efter UserType
Vælg * fra sys.database_principals
-- Serverroller
markere
p.name som BrugerNavn, p.type_desc som BrugerType, pp.name som ServerRolleNavn, pp.type_desc som ServerRolleType
fra sys.server_role_members roller
Tilmeld dig sys.server_principals p på roles.member_principal_id = p.principal_id
Tilmeld dig sys.server_principals PP på roles.role_principal_id = pp.principal_id
hvor pp.name in('sysadmin')
orden efter ServerRoleName, UserName
-- Databaseroller
MARKERE
p.name som BrugerNavn, p.type_desc som BrugerType, pp.name som DBRoleName, pp.type_desc som DBRoleType, pp.is_fixed_role som IfFixedRole
FRA sys.database_role_members roller
TILMELD sys.database_principals p PÅ roles.member_principal_id = p.principal_id
TILMELD sys.database_principals PP PÅ roles.role_principal_id = pp.principal_id
hvor pp.name i('db_owner', 'db_datawriter')
-- Hvad kan disse brugere gøre?
MARKERE
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
TILMELD sys.database_principals modtager på dp.grantee_principal_id = grantee.principal_id
TILMELD sys.database_principals giver på dp.grantor_principal_id = grantor.principal_id
hvor permission_name som '%OPDATERING%'