-- Ζητήστε τα δικαιώματα αντικειμένου του χρήστη
exec sp_helprotect NULL, 'ΌνομαΧρήστη'
-- Ερώτηση για τον ρόλο του χρήστη
exec sp_helpuser "Όνομα χρήστη"
-- Ερώτημα ποιοι χρήστες έχουν καθορισμένο ρόλο συστήματος
exec sp_helpsrvrolemember 'sysadmin'
-- Μπορούν να ερωτηθούν ένθετοι ρόλοι
ΜΕ tree_roles ως
(
ΕΠΙΛΈΞΤΕ role_principal_id, member_principal_id
ΑΠΟ sys.database_role_members
ΌΠΟΥ member_principal_id = USER_ID('ΌνομαΧρήστη')
ΕΝΩΣΗ ΟΛΑ
ΕΠΙΛΈΞΤΕ c.role_principal_id,c.member_principal_id
ΑΠΟ sys.database_role_members ως γ
εσωτερική ένωση tree_roles
στο tree_roles.member_principal_id = c.role_principal_id
)
SELECT διακριτό USER_NAME(role_principal_id) RoleName
ΑΠΟ tree_roles
-- Βασικός πίνακας που σχετίζεται με άλλα δικαιώματα
Επιλέξτε * από sysusers
Επιλέξτε * από το SysPermissions
-- Ποιος έχει πρόσβαση στην παρουσία μου στον SQL Server;
ΔΙΑΛΈΓΩ
name ως UserName, type_desc ως UserType is_disabled ως IsDisabled
ΑΠΟ sys.server_principals
όπου type_desc in('WINDOWS_LOGIN', 'SQL_LOGIN')
ταξινόμηση κατά UserType, όνομα, IsDisabled
-- Ποιος έχει πρόσβαση στις βάσεις δεδομένων μου;
ΔΙΑΛΈΓΩ
dp.name ως UserName, dp.type_desc ως UserType, sp.name ως LoginName sp.type_desc ως LoginType
ΑΠΟ sys.database_principals dp
JOIN sys.server_principals sp ON dp.principal_id = sp.principal_id
παραγγελία ανά UserType
Επιλέξτε * από sys.database_principals
-- Ρόλοι διακομιστή
διαλέγω
p.name ως UserName, p.type_desc ως UserType, pp.name ως ServerRoleName pp.type_desc ως ServerRoleType
από sys.server_role_members ρόλους
join sys.server_principals p στο roles.member_principal_id = p.principal_id
join sys.server_principals pp στο roles.role_principal_id = pp.principal_id
όπου pp.name in('sysadmin')
ταξινόμηση κατά ServerRoleName, UserName
-- Ρόλοι βάσης δεδομένων
ΔΙΑΛΈΓΩ
p.name ως UserName, p.type_desc ως UserType, pp.name ως DBRoleName, pp.type_desc ως DBRoleType pp.is_fixed_role ως IfFixedRole
ΑΠΟ sys.database_role_members ρόλους
JOIN sys.database_principals p ON roles.member_principal_id = p.principal_id
ΕΓΓΡΑΦΕΙΤΕ sys.database_principals pp ON roles.role_principal_id = pp.principal_id
όπου pp.name in('db_owner', 'db_datawriter')
-- Τι μπορούν να κάνουν αυτοί οι χρήστες;
ΔΙΑΛΈΓΩ
grantor.name ως GrantorName, dp.state_desc ως StateDesc, dp.class_desc ως ClassDesc dp.permission_name ως PermissionName ,
OBJECT_NAME(major_id) ως ObjectName, GranteeName = grantee.name
ΑΠΟ sys.database_permissions dp
ΕΓΓΡΑΦΕΙΤΕ sys.database_principals δικαιούχο στο dp.grantee_principal_id = grantee.principal_id
ΕΓΓΡΑΦΕΙΤΕ sys.database_principals παραχωρητή στο dp.grantor_principal_id = grantor.principal_id
όπου permission_name όπως "%UPDATE%"