See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 10498|Vastuse: 0

[Allikas] SQL Server, et pärida kasutaja objektiõigusi ja rolle

[Kopeeri link]
Postitatud 28.01.2015 16:33:32 | | |
Objekti õiguste ja kasutajarollide pärimine SQL Serveris[@more@]

-- 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%'






Eelmine:SQLSERVERI serveri konfiguratsioon
Järgmine:comboBox on seatud ainult lugemiseks (ainult valikuks)
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com