Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 10498|Odpowiedź: 0

[Źródło] SQL Server do zapytań o uprawnienia i role obiektu użytkownika

[Skopiuj link]
Opublikowano 28.01.2015 16:33:32 | | |
Zapytania dotyczące uprawnień i ról obiektów użytkowników w SQL Server[@more@]

-- Zapytaj uprawnienia użytkownika do obiektów
exec sp_helprotect NULL, 'UserName'
-- Zapytanie o rolę użytkownika
executive sp_helpuser 'UserName'
-- Zapytanie, którzy użytkownicy mają określoną rolę systemową
Executive sp_helpsrvrolemember 'sysadmin'
-- Można zapytać role zagnieżdżone
Z tree_roles jako
(
WYBIERZ role_principal_id, member_principal_id
OD sys.database_role_members
GDZIE member_principal_id = USER_ID('UserName')
ZWIĄZEK WSZYSTKICH
WYBIERZ c.role_principal_id c.member_principal_id
FROM sys.database_role_members jako c
wewnętrzne połączenie tree_roles
on tree_roles.member_principal_id = c.role_principal_id
)
SELECT distinct USER_NAME(role_principal_id) RoleName
OD tree_roles
-- Podstawowa tabela dotycząca innych uprawnień
Wybierz * z systematorów
Wybierz * z syspermissions
-- Kto ma dostęp do mojej instancji SQL Server?
WYBRAĆ
name jako UserName, type_desc jako UserType, is_disabled jako IsDisabled
OD sys.server_principals
gdzie type_desc w('WINDOWS_LOGIN', 'SQL_LOGIN')
order by UserType, name, IsDisabled
-- Kto ma dostęp do moich baz danych?
WYBRAĆ
dp.name jako UserName, dp.type_desc jako UserType, sp.name jako LoginName sp.type_desc jako LoginType
Od sys.database_principals dp
DOŁĄCZ sys.server_principals SP ON dp.principal_id = sp.principal_id
kolejność według UserType
Wybierz * z sys.database_principals
-- Role serwera
wybrać
p.name jako UserName, p.type_desc jako UserType, pp.name jako ServerRoleName pp.type_desc jako ServerRoleType
Z sys.server_role_members ról
dołącz sys.server_principals p na roles.member_principal_id = p.principal_id
Dołącz do sys.server_principals pp na roles.role_principal_id = pp.principal_id
gdzie pp.name w('sysadmin')
kolejność według ServerRoleName, UserName
-- Role bazy danych
WYBRAĆ
p.name jako UserName, p.type_desc jako UserType, pp.name jako DBRoleName, pp.type_desc jako DBRoleType pp.is_fixed_role jako IfFixedRole
Z sys.database_role_members ról
JOIN sys.database_principals p ON roles.member_principal_id = p.principal_id
JOIN sys.database_principals pp ON roles.role_principal_id = pp.principal_id
gdzie pp.name w('db_owner', 'db_datawriter')
-- Co mogą zrobić ci użytkownicy?
WYBRAĆ
grantor.name jako GrantorName, dp.state_desc jako StateDesc, dp.class_desc jako ClassDesc, dp.permission_name jako PermissionName ,
OBJECT_NAME(major_id) jako ObjectName, GranteeName = grantee.name
Od sys.database_permissions dp
DOŁĄCZ sys.database_principals beneficjent na dp.grantee_principal_id = grantee.principal_id
DOŁĄCZ sys.database_principals grantor na dp.grantor_principal_id = grantor.principal_id
gdzie permission_name na przykład '%UPDATE%'






Poprzedni:Konfiguracja serwera SQLSERVER
Następny:comboBox ustawiony na tylko do odczytu (tylko select)
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com