Det korrekta sättet att göra detta i SQL Server 2005 och senare är att sluta tänka på prefixet som en "ägare". sp_changeobjectowner
förfarande
har blivit utfasad sedan SQL Server 2005, och du bör istället använda schema DDL
, t.ex.:
ALTER SCHEMA dbo TRANSFER [current_owner].tablename;
För att kontrollera den aktuella "ägaren" (detta kan returnera flera rader om du har mer än ett tablename
i flera scheman):
SELECT s.name
FROM sys.schemas AS s
INNER JOIN sys.tables AS t
ON s.[schema_id] = t.[schema_id]
WHERE t.name = N'tablename';
Se också till att du stavar objektet korrekt. I en skiftlägeskänslig sortering, till exempel, TABLENAME
och tablename
är inte samma objekt, och att stava det med InCorrEcT Case kan också leda till det här felet.