Właściwym sposobem na zrobienie tego w SQL Server 2005 i nowszych jest zaprzestanie myślenia o prefiksie jako o „właścicielu”. sp_changeobjectowner
procedura
został wycofany od SQL Server 2005 i zamiast tego należy używać Schemat DDL
, np.:
ALTER SCHEMA dbo TRANSFER [current_owner].tablename;
Aby sprawdzić bieżącego „właściciela” (może to zwrócić wiele wierszy, jeśli masz więcej niż jedną tablename
w wielu schematach):
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';
Upewnij się również, że poprawnie wpisujesz obiekt. W sortowaniu uwzględniającym wielkość liter, na przykład TABLENAME
i tablename
nie są tym samym obiektem, a pisownia z INCorrEcT Case może również prowadzić do tego błędu.