La forma correcta de hacer esto en SQL Server 2005 y versiones posteriores es dejar de pensar en el prefijo como "propietario". El sp_changeobjectowner
procedimiento
ha quedado obsoleto desde SQL Server 2005 y, en su lugar, debe usar esquema DDL
, por ejemplo:
ALTER SCHEMA dbo TRANSFER [current_owner].tablename;
Para verificar el "propietario" actual (esto puede devolver varias filas si tiene más de un tablename
en varios 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';
También asegúrese de escribir el objeto correctamente. En una intercalación que distingue entre mayúsculas y minúsculas, por ejemplo, TABLENAME
y tablename
no son el mismo objeto, y escribirlo con CASO INCORRECTO también podría generar este error.