sys.sp_changedbowner (Transact-SQL)

platí pro:SQL Server

Mění vlastníka aktuální databáze.

Important

Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Místo toho použijte ALTER AUTHORIZATION.

Transact-SQL konvence syntaxe

Syntax

sys.sp_changedbowner
    [ @loginame = ] N'loginame'
    [ , [ @map = ] 'map' ]
[ ; ]

Arguments

[ @loginame = ] N'loginame'

Přihlašovací ID nového vlastníka současné databáze. @loginame je sysname, bez výchozího nastavení. @loginame musí být již existující uživatel SQL Server přihlášení nebo uživatel Windows. @loginame se nemůže stát vlastníkem aktuální databáze, pokud už má přístup k databázi prostřednictvím existujícího uživatelského bezpečnostního účtu v databázi. Aby se této situaci vyhnulo, nejprve uživatele vložte do aktuální databáze.

[ @map = ] 'mapa'

Tento parametr je zastaralý a je zachován kvůli zpětné kompatibilitě skriptů.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Remarks

Po sp_changedbowner spuštění je nový vlastník známý jako dbo uživatel uvnitř databáze. Uživatel dbo má implicitní oprávnění k provádění všech aktivit v databázi.

Vlastníka databází master, model, nebo tempdb systémových databází nelze změnit.

Pro zobrazení seznamu platných hodnot @loginame spusťte uloženou proceduru sp_helplogins .

Spuštění pouze s parametrem sp_changedbowner změní vlastnictví databáze na @loginame.

Vlastníka jakékoliv securable můžete změnit pomocí ALTER AUTHORIZATION tohoto příkazu. Další informace najdete na webu ALTER AUTHORIZATION.

Permissions

Vyžaduje TAKE OWNERSHIP oprávnění k databázi. Pokud má nový vlastník v databázi odpovídajícího uživatele, vyžaduje IMPERSONATE oprávnění k přihlášení, jinak vyžaduje CONTROL SERVER povolení na serveru.

Examples

Následující příklad činí přihlášení Albert vlastníkem aktuální databáze.

EXECUTE sp_changedbowner 'Albert';