La bonne façon de procéder dans SQL Server 2005 et versions ultérieures est d'arrêter de considérer le préfixe comme un « propriétaire ». Le sp_changeobjectowner
procédure
est obsolète depuis SQL Server 2005, et vous devriez plutôt utiliser DDL de schéma
, par exemple :
ALTER SCHEMA dbo TRANSFER [current_owner].tablename;
Pour vérifier le "propriétaire" actuel (ceci peut renvoyer plusieurs lignes si vous avez plus d'un tablename
dans plusieurs schémas) :
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';
Assurez-vous également que vous épelez correctement l'objet. Dans un classement sensible à la casse, par exemple, TABLENAME
et tablename
ne sont pas le même objet, et l'épeler avec InCorrEcT CaSe pourrait également conduire à cette erreur.