Pesan error-nya:
Login ‘domain\user’ has granted one or more permissions. Revoke the permission before dropping the login (Microsoft SQL Server, Error:15173)
Ini berarti user yang akan kita drop, telah memberikan permission ke orang lain sehingga masih ada ketergantungan terhadap object principal yang lain.
Kita bisa mengetahui permission apa saja yang telah di-granted oleh [domain\user] tersebut, dengan query:
SELECT
sp.class_desc,
sp.permission_name,
sp.state_desc,
p.name as grantee_name,
p.type_desc as grantee_type
FROM sys.server_permissions sp
INNER JOIN sys.server_principals p
ON p.principal_id = sp.grantee_principal_id
WHERE grantor_principal_id = (
SELECT principal_id FROM sys.server_principals WHERE name = N’domain\user’
)
atau buka SQL Server Management Studio, kemudian pilih Security > Logins > domain\user > right click > Properties,
Buka tab Securables, click tombol [Add], kemudian pilih [All objects of the types…], pilih semua option yang ada. Di bagian bawah akan ada list semua permission yang di-grant. Lihat apakah ada permission dengan grantor adalah ‘domain\user’ tersebut. Kalau ada, silakan dipindahkan ke grantor yang lain atau dibuang kalau memang tidak digunakan lagi.