sp_changedbowner (Transact-SQL)
Ändert den Besitzer der aktuellen Datenbank.
Hinweis |
---|
Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird. Verwenden Sie stattdessen ALTER AUTHORIZATION. |
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 sysname und weist keinen Standardwert auf. login muss ein bereits vorhandener SQL Server-Anmeldename oder Windows-Benutzer sein. login kann nicht der Besitzer der aktuellen Datenbank werden, wenn er bereits über ein vorhandenes Benutzersicherheitskonto innerhalb der Datenbank auf die Datenbank zugreifen kann. Um dies zu vermeiden, löschen Sie zunächst den Benutzer innerhalb der aktuellen Datenbank.[ @map = ] remap_alias_flag
Der remap_alias_flag-Parameter ist veraltet, weil Aliase für die Anmeldung aus SQL Server entfernt wurden. Die Verwendung des remap_alias_flag-Parameters verursacht keinen Fehler, hat jedoch auch keine Auswirkungen.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
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.
Führen Sie die gespeicherte Prozedur sp_helplogins aus, um eine Liste der gültigen login-Werte anzuzeigen.
Wenn sp_changedbowner lediglich mit dem login-Parameter ausgeführt wird, geht der Datenbankbesitz an login über.
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'