Domanda

Sto cercando di eliminare uno dei ruolo nel mio database SQL Server. Ho lasciato cadere tutti i membri del ruolo e quando ho provato a cadere ruolo ho ottenuto questo messaggio di errore:

Msg 15138, Level 16, State 1, Line 13
The database principal owns a schema in the database, and cannot be dropped.

Qualcuno sa perché? Ho controllato la schema di proprietà e aveva solo il check segno a proprio nome.

È stato utile?

Soluzione

Non si può cadere un'entità di database che possiede uno schema. Devi trasferire la proprietà dello schema a qualche altra entità di database o eliminare lo schema prima di poter eliminare l'entità di database.

Altri suggerimenti

errore 15138 è dovuto l'utente che si sta tentando di eliminare possiede uno schema.

Se si esegue la query di seguito si otterrà lo schema di proprietà dell'utente.

USE DatabaseName; 
SELECT s.name
FROM sys.schemas s
WHERE s.principal_id = USER_ID('UserName');

Diciamo restituisce 'db_denydatareader' schema. Quindi è possibile assegnare tale schema per l'utente 'dbo' predefinito utilizzando la query di seguito.

ALTER AUTHORIZATION ON SCHEMA::db_denydatareader TO dbo;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top