दिए गए समाधान में यह शामिल नहीं है कि स्कीमा या डेटाबेस के विरुद्ध अनुमति कहाँ दी जाती है, जो तालिकाओं के विरुद्ध भी अनुमतियाँ प्रदान करते हैं। यह आपको वे स्थितियां भी देगा। आप केवल DELETE तक सीमित करने के लिए अनुमति_नाम के विरुद्ध WHERE क्लॉज का उपयोग कर सकते हैं।
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 या उनके डेरिवेटिव में नहीं देखेंगे।