Come trasferire la proprietà dello schema dbo in SQL Server 2012


15

Ho accidentalmente assegnato a un utente la proprietà dello schema db_owner (utilizzando la casella di controllo nell'interfaccia utente come di seguito) e ora non posso:

  1. Trasferisci la proprietà a un altro utente
  2. Rilascia l'utente dal DB (anche se posso cancellare l'accesso in SQL Server)

Ho provato L'entità database possiede uno schema nel database e non può essere eliminato.

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo

E mentre è stato completato correttamente, l'utente ha ancora la proprietà ed è disattivato, quindi non riesco nemmeno a farlo nell'interfaccia utente.

inserisci qui la descrizione dell'immagine

Trovato una soluzione:

Oltre alla risposta di Arron , mi sono reso conto che avrei eseguito il comando sopra in un DB errato (facepalm!). Una volta che il DB era stato corretto, sia l'SQL sopra che la risposta sotto funzionavano.

Risposte:


21

Un approccio leggermente diverso sarebbe quello di restituire lo schema al proprietario / schema originale, invece di eseguire il dbo:

ALTER AUTHORIZATION ON SCHEMA::db_owner TO db_owner;
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.