Elenco degli utenti con i relativi permessi
Inviato: 20/06/2024, 22:33
Questo script SQL consente di ottenere un elenco degli utenti del database insieme ai relativi permessi. È utile per monitorare e gestire le autorizzazioni degli utenti nel database SQL Server.
Seconda versione:
Codice: Seleziona tutto
SELECT
princ.name AS PrincipalName,
princ.type_desc AS PrincipalType,
perm.permission_name AS PermissionName,
perm.state_desc AS PermissionState,
obj.name AS ObjectName
FROM
sys.database_permissions perm
LEFT JOIN
sys.all_objects obj ON perm.major_id = obj.object_id
LEFT JOIN
sys.database_principals princ ON perm.grantee_principal_id = princ.principal_id
WHERE
princ.name IS NOT NULL
ORDER BY
PrincipalName, ObjectName, PermissionName;

Codice: Seleziona tutto
-- Elenco degli utenti, ruoli e certificati con relativi permessi
SELECT
pr.name AS [PrincipalName],
pr.type_desc AS [PrincipalType],
perm.permission_name AS [Permission],
perm.state_desc AS [PermissionState],
obj.name AS [ObjectName],
obj.type_desc AS [ObjectType],
schema_name(obj.schema_id) AS [Schema]
FROM
sys.database_principals AS pr
LEFT JOIN
sys.database_permissions AS perm ON perm.grantee_principal_id = pr.principal_id
LEFT JOIN
sys.objects AS obj ON obj.object_id = perm.major_id
ORDER BY
pr.name, obj.name, perm.permission_name;