I have a user that ran the following statements:GRANT VIEW DEFINITION ON SYMMETRIC KEY::<key name> TO PUBLIC;GRANT CONTROL ON CERTIFICATE::<certificate name> TO PUBLIC;
Shame on him, shame on me for allowing the permissions to do this. To address this, I logged on as 'sa' and ran these statements:REVOKE VIEW DEFINITION ON SYMMETRIC KEY::<key name> TO PUBLIC;REVOKE CONTROL ON CERTIFICATE::<certificate name> TO PUBLIC;
Now when I attempt to drop the database user using DROP USER [<user name>] I get this error:The database principal owns a certificate in the database, and cannot be dropped.
My question is this, what can I do to "transfer" the certificate to another use, say 'sa' or a service account?