Il modo corretto per eseguire questa operazione in SQL Server 2005 e versioni successive è smettere di pensare al prefisso come a un "proprietario". Il sp_changeobjectowner
procedura
è stato deprecato da SQL Server 2005 e dovresti invece usare schema DDL
, ad esempio:
ALTER SCHEMA dbo TRANSFER [current_owner].tablename;
Per controllare l'attuale "proprietario" (questo potrebbe restituire più righe se hai più di un tablename
in più schemi):
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';
Assicurati anche di scrivere correttamente l'oggetto. In una confronto con distinzione tra maiuscole e minuscole, ad esempio, TABLENAME
e tablename
non sono lo stesso oggetto e anche l'ortografia con InCorrEcT CaSe potrebbe causare questo errore.