Dané řešení nepokrývá, kde je uděleno oprávnění vůči schématu nebo samotné databázi, které udělují oprávnění i vůči tabulkám. Tím získáte také tyto situace. Můžete použít klauzuli WHERE proti název_povolení k omezení pouze na DELETE.
SELECT
class_desc
, CASE WHEN class = 0 THEN DB_NAME()
WHEN class = 1 THEN OBJECT_NAME(major_id)
WHEN class = 3 THEN SCHEMA_NAME(major_id) END [Securable]
, USER_NAME(grantee_principal_id) [User]
, permission_name
, state_desc
FROM sys.database_permissions
Také db_datawriter bude muset být zkontrolován na členství, protože poskytuje implicitní práva INSERT, UPDATE a DELETE, což znamená, že se nezobrazí v DMV oprávnění nebo jejich derivátech.