Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Byter ägare till ett objekt i den aktuella databasen.
Important
Denna lagrade procedur fungerar endast med de objekt som finns tillgängliga i SQL Server 2000 (8.x). Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Använd ALTER SCHEMA eller ALTER AUTHORIZATION i stället.
sp_changeobjectowner ändrar både schemat och ägaren. För att bevara kompatibilitet med tidigare versioner av SQL Server kommer denna lagrade procedur endast att byta objektägare när både den nuvarande ägaren och den nya ägaren äger scheman som har samma namn som deras databasanvändarnamn.
Transact-SQL syntaxkonventioner
Syntax
sys.sp_changeobjectowner
[ @objname = ] N'objname'
, [ @newowner = ] N'newowner'
[ ; ]
Arguments
[ @objname = ] N'objname'
@objname är nvarchar(776), utan standard.
Namnet på en befintlig tabell, vy, användardefinierad funktion eller lagrad procedur i den aktuella databasen.
@objname är en nvarchar(776), utan standard.
@objname kan kvalificeras med ägaren av det befintliga objektet, i formen <existing_owner>.<object_name> om schemat och dess ägare har samma namn.
[ @newowner = ] Ny ägare'
Namnet på säkerhetskontot som kommer att vara den nya ägaren av objektet. @newowner är sysname, utan standard. @newowner måste vara en giltig databasanvändare, serverroll, Windows användare eller Windows grupp med tillgång till den aktuella databasen. Om den nya ägaren är en Windows-användare eller en Windows-grupp där det inte finns någon motsvarande databasnivåprincip, skapas en databasanvändare.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Remarks
sp_changeobjectowner Tar bort alla befintliga behörigheter från objektet. Du måste återapplicera alla behörigheter du vill behålla efter att du kört sp_changeobjectowner. Därför rekommenderar vi att du skriptar ut befintliga behörigheter innan du kör sp_changeobjectowner. Efter att äganderätten av objektet ändrats kan du använda skriptet för att återapplicera behörigheter. Du måste ändra objektägaren i behörighetsskriptet innan du kör.
För att byta ägare till ett värdepapper, använd ALTER AUTHORIZATION. För att ändra ett schema, använd ALTER SCHEMA.
Permissions
Kräver medlemskap i den db_owner fasta databasrollen, eller medlemskap i både den db_ddladmin fasta databasrollen och den db_securityadmin fasta databasrollen, samt CONTROL behörighet på objektet.
Examples
Följande exempel ändrar ägaren av authors tabellen till Corporate\GeorgeW.
EXECUTE sp_changeobjectowner 'authors', 'Corporate\GeorgeW';
GO