-- Vaicāt lietotāja objekta atļaujas
exec sp_helprotect NULL, 'Lietotājvārds'
-- Vaicājiet lietotāja lomu
exec sp_helpuser 'Lietotājvārds'
-- Vaicājiet, kuriem lietotājiem ir norādīta sistēmas loma
exec sp_helpsrvrolemember 'sysadmin'
-- Ligzdotajām lomām var vaicāt
AR tree_roles kā
(
IZVĒLIETIES role_principal_id, member_principal_id
NO sys.database_role_members
KUR member_principal_id = USER_ID('Lietotājvārds')
SAVIENĪBA VISI
ATLASIET c.role_principal_id,c.member_principal_id
NO sys.database_role_members kā c
iekšējais savienojums tree_roles
uz tree_roles.member_principal_id = c.role_principal_id
)
SELECT atšķirīgs USER_NAME(role_principal_id) RoleName
NO tree_roles
-- Pamata tabula, kas saistīta ar citām atļaujām
Atlasiet * no sistēmas lietotājiem
Izvēlieties * no syspermissions
-- Kam ir piekļuve manai SQL Server instancei?
ATLASIET
nosaukums kā Lietotājvārds type_desc kā Lietotāja tips is_disabled kā IsDisabled
NO sys.server_principals
kur type_desc in('WINDOWS_LOGIN', 'SQL_LOGIN')
kārtot pēc UserType, name, IsDisabled
-- Kam ir piekļuve manām datu bāzēm?
ATLASIET
dp.name kā UserName, dp.type_desc kā UserType, sp.name kā LoginName sp.type_desc kā LoginType
NO sys.database_principals dp
JOIN sys.server_principals sp ON dp.principal_id = sp.principal_id
pasūtīt pēc lietotāja tipa
Izvēlieties * no sys.database_principals
-- Servera lomas
Atlasiet
p.name kā UserName, p.type_desc kā UserType, pp.name kā ServerRoleName, pp.type_desc kā ServerRoleType
no sys.server_role_members lomām
Pievienojieties sys.server_principals p uz roles.member_principal_id = p.principal_id
Pievienojieties sys.server_principals PP uz roles.role_principal_id = pp.principal_id
kur pp.name in('sysadmin')
kārtot pēc ServerRoleName, UserName
-- Datu bāzes lomas
ATLASIET
p.name kā UserName, p.type_desc kā UserType, pp.name kā DBRoleName, pp.type_desc kā DBRoleType pp.is_fixed_role kā IfFixedRole
NO sys.database_role_members lomām
JOIN sys.database_principals p UZ 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')
-- Ko šie lietotāji var darīt?
ATLASIET
grantor.name kā GrantorName, dp.state_desc kā StateDesc, dp.class_desc kā ClassDesc dp.permission_name kā PermissionName ,
OBJECT_NAME(major_id) kā ObjectName, GranteeName = grantee.name
NO sys.database_permissions dp
PIEVIENOJIETIES sys.database_principals granta saņēmējam uz dp.grantee_principal_id = grantee.principal_id
PIEVIENOJIETIES sys.database_principals piešķīrējam dp.grantor_principal_id = grantor.principal_id
kur permission_name, piemēram, '%UPDATE%'