it-swarm.com.de

So übertragen Sie den Besitz des dbo-Schemas in SQL Server 2012

Ich habe versehentlich einem Benutzer den Besitz des Schemas db_owner übertragen (mithilfe des Kontrollkästchens in der Benutzeroberfläche wie unten) und kann jetzt nicht:

  1. Übertragen Sie das Eigentum auf einen anderen Benutzer
  2. Löschen Sie den Benutzer aus der Datenbank (obwohl ich die Anmeldung im SQL Server löschen kann).

Ich habe versucht Der Datenbankprinzipal besitzt ein Schema in der Datenbank und kann nicht gelöscht werden.

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo

Und während es erfolgreich abgeschlossen wurde, hat der Benutzer immer noch das Eigentum und es ist ausgegraut, so dass ich es anscheinend auch nicht in der Benutzeroberfläche tun kann.

enter image description here

Eine Lösung gefunden:

Zusätzlich zu Arrons Antwort wurde mir klar, dass ich den obigen Befehl in einer falschen Datenbank ausführen würde (facepalm!). Nachdem die Datenbank korrigiert worden war, funktionierten sowohl die obige SQL als auch die unten stehende Antwort.

15
Preet Sangha

Ein etwas anderer Ansatz wäre, das Schema an den ursprünglichen Eigentümer/das ursprüngliche Schema zurückzugeben, anstatt an dbo:

ALTER AUTHORIZATION ON SCHEMA::db_owner TO db_owner;
22
Aaron Bertrand