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)