Se provi ad eliminare un utente che appartiene a uno schema, riceverai l’errore seguente:
Drop failed for User ‘my_user’. (Microsoft.SqlServer.Smo)
The database principal owns a schema in the database, and cannot be dropped. (Microsoft SQL Server, Error: 15138)
dunque, per eliminare l’utente, bisogna trovare lo schema a cui appartiene, e trasferire l’ownership ad un altro utente (o ruolo).
Per trovare lo schema a cui appartiene l’utente utilizza il seguente snippet:
SELECT sc.name
FROM sys.schemas sc
WHERE sc.principal_id = USER_ID('my_user')
Una volta trovato lo schema con la query precedente (per esempio db_datareader), utilizzarlo per trasferire l’ownership con questo snippet:
ALTER AUTHORIZATION ON SCHEMA::db_datareader TO dbo






Mi hai salvato un venerdi sera!!
Un santo venerdì!
Grazie
davvero utile