Даденото решение не покрива къде се предоставя разрешение за схемата или самата база данни, които предоставят разрешения и за таблиците. Това ще ви даде и тези ситуации. Можете да използвате WHERE клауза срещу permission_name, за да ограничите само до 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
Освен това db_datawriter ще трябва да бъде проверен за членство, тъй като дава имплицитни права INSERT, UPDATE и DELETE, което означава, че няма да го видите да се показва в DMV на разрешенията или техните производни.