sp_changedbowner (Transact-SQL)

Gilt für:SQL Server

Ändert den Besitzer der aktuellen Datenbank.

Wichtig

Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. 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. Die Anmeldung muss bereits ein VORHANDENer SQL Server-Anmelde- oder Windows-Benutzer sein. Die Anmeldung kann nicht der Besitzer der aktuellen Datenbank werden, wenn sie bereits Über ein vorhandenes Benutzerkonto 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 remap_alias_flag-Parameter ist veraltet, da Anmeldealias 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)

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.

Um eine Liste der gültigen Anmeldewerte anzuzeigen, führen Sie die sp_helplogins gespeicherte Prozedur aus.

Das Ausführen von sp_changedbowner mit nur dem Anmeldeparameter ändert den Datenbankbesitz in die Anmeldung.

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)