15138: The database principal owns a schema in the database, and cannot be dropped
SQL ServerWas bedeutet das?
Es wurde versucht, einen Datenbankbenutzer bzw. eine Rolle (Datenbankprinzipal) zu löschen, aber das war nicht möglich, weil der Prinzipal ein oder mehrere Schemas in der Datenbank besitzt. Er kann erst gelöscht werden, wenn die ihm gehörenden Schemas an einen anderen Prinzipal übertragen sind.
Ursache
Der zu entfernende Benutzer ist OWNER mindestens eines Schemas (z. B. eines standardmäßig unter seinem Namen angelegten oder per AUTHORIZATION zugewiesenen Schemas). SQL Server blockiert das Löschen, um keine verwaisten Schemas zu hinterlassen.
Lösung
Finde die Schemas, die dem Benutzer gehören: SELECT name FROM sys.schemas WHERE principal_id = USER_ID('app_user'); Übertrage den Besitz dieser Schemas an einen anderen Prinzipal (z. B. dbo): ALTER AUTHORIZATION ON SCHEMA::[app_schema] TO dbo; Wird das Schema nicht mehr benötigt (und ist es leer), führe DROP SCHEMA aus. Nachdem der Besitz übertragen wurde, führe DROP USER erneut aus.
Weitere Einträge zu dieser Datenbank
- 8651Could not perform the operation because the requested memory grant was not available
- 5061ALTER DATABASE failed because a lock could not be placed on database
- 3702Cannot drop database because it is currently in use
- 1934INSERT/UPDATE failed because the following SET options have incorrect settings
- 468Cannot resolve the collation conflict
- 4864Bulk load data conversion error (Typkonflikt oder ungültiges Zeichen)
- 916The server principal is not able to access the database under the current security context