Správný způsob, jak toho dosáhnout v SQL Server 2005 a novějších, je přestat přemýšlet o předponě jako o „vlastníkovi“. sp_changeobjectowner
postup
byl zastaralý od SQL Server 2005 a měli byste místo toho používat schéma DDL
, např.:
ALTER SCHEMA dbo TRANSFER [current_owner].tablename;
Chcete-li zkontrolovat aktuálního "vlastníka" (může vrátit více řádků, pokud máte více než jeden tablename
ve více schématech):
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';
Také se ujistěte, že jste předmět správně hláskovali. V řazení rozlišující malá a velká písmena, například TABLENAME
a tablename
nejsou stejný objekt a k této chybě může vést i jeho hláskování pomocí InCorrEcT CaSe.