Übertragen des Besitzes des DBO-Schemas in SQL Server 2012


14

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 mehr:

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

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

ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo

Und obwohl es erfolgreich abgeschlossen wurde, hat der Benutzer immer noch den Besitz und es ist ausgegraut, so dass ich es auch in der Benutzeroberfläche nicht zu tun scheinen kann.

Bildbeschreibung hier eingeben

Eine Lösung gefunden:

Zusätzlich zu der Antwort von Arron 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 Antwort unten.

Antworten:


20

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;
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.