sp_changedbowner (Transact-SQL)
Gilt für:SQL Server
Ändert den Besitzer der aktuellen Datenbank.
Wichtig
Dieses Feature wird in einer künftigen Version von Microsoft SQL Server entfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Verwenden Sie stattdessen ALTER AUTHORIZATION .
Transact-SQL-Syntaxkonventionen
Syntax
sp_changedbowner [ @loginame = ] 'login'
[ , [ @map = ] remap_alias_flag ]
Argumente
[ @loginame= ] 'login'
Die Anmelde-ID des neuen Besitzers der aktuellen Datenbank. login ist vom Datentyp sysnameund hat keinen Standardwert. login muss ein bereits vorhandener SQL Server Anmeldung oder Windows-Benutzer sein. login kann nicht besitzer der aktuellen Datenbank werden, wenn sie bereits über ein vorhandenes Sicherheitskonto in der Datenbank Zugriff auf die Datenbank hat. Um dies zu vermeiden, löschen Sie zunächst den Benutzer innerhalb der aktuellen Datenbank.
[ @map= ] remap_alias_flag
Der parameter remap_alias_flag ist veraltet, da Anmeldealiase aus SQL Server entfernt wurden. Die Verwendung des remap_alias_flag-Parameters verursacht keinen Fehler, hat aber keine Auswirkung.
Rückgabecodewerte
„0“ (erfolgreich) oder „1“ (fehlerhaft)
Bemerkungen
Nach der Ausführung von sp_changedbowner ist der neue Besitzer als Benutzer dbo innerhalb der Datenbank bekannt. dbo besitzt die impliziten Berechtigungen, alle Aktivitäten in der Datenbank auszuführen.
Der Besitzer der Systemdatenbanken master, model oder tempdb kann nicht geändert werden.
Um eine Liste der gültigen Anmeldewerte anzuzeigen, führen Sie die sp_helplogins gespeicherte Prozedur aus.
Wenn Sie sp_changedbowner nur mit dem Anmeldeparameter ausführen, wird der Datenbankbesitz in anmeldung geändert.
Sie können den Besitzer jedes sicherungsfähigen Elements mit der ALTER AUTHORIZATION-Anweisung ändern. Weitere Informationen finden Sie unter ALTER AUTHORIZATION (Transact-SQL).
Berechtigungen
Erfordert die TAKE OWNERSHIP-Berechtigung für die Datenbank. Wenn der neue Besitzer über einen entsprechenden Benutzer in der Datenbank verfügt, wird die IMPERSONATE-Berechtigung für den Anmeldenamen benötigt. Andernfalls ist die CONTROL SERVER-Berechtigung auf dem Server erforderlich.
Beispiele
Im folgenden Beispiel wird der Anmeldename Albert
als Besitzer der aktuellen Datenbank festgelegt.
EXEC sp_changedbowner 'Albert';
Weitere Informationen
Gespeicherte Sicherheitsprozeduren (Transact-SQL)
CREATE DATABASE (SQL Server Transact-SQL)
sp_dropalias (Transact-SQL)
sp_dropuser (Transact-SQL)
sp_helpdb (Transact-SQL)
sp_helplogins (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)
Feedback
Feedback senden und anzeigen für