A maneira correta de fazer isso no SQL Server 2005 e superior é parar de pensar no prefixo como um "proprietário". O
sp_changeobjectowner
procedimento
foi preterido desde o SQL Server 2005 e, em vez disso, você deve usar esquema DDL
, por exemplo.:ALTER SCHEMA dbo TRANSFER [current_owner].tablename;
Para verificar o "proprietário" atual (isso pode retornar várias linhas se você tiver mais de um
tablename
em vários esquemas):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';
Certifique-se também de soletrar o objeto corretamente. Em um agrupamento que diferencia maiúsculas de minúsculas, por exemplo,
TABLENAME
e tablename
não são o mesmo objeto, e soletrar com InCorrEcT CaSe também pode levar a esse erro.