Правилният начин да направите това в SQL Server 2005 и по-нови е да спрете да мислите за префикса като за "собственик". sp_changeobjectowner
процедура
е отхвърлен от SQL Server 2005 и вместо това трябва да използвате DDL схема
, напр.:
ALTER SCHEMA dbo TRANSFER [current_owner].tablename;
За да проверите текущия „собственик“ (това може да върне няколко реда, ако имате повече от едно tablename
в множество схеми):
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';
Също така се уверете, че изписвате обекта правилно. В съпоставяне, чувствително към главни и малки букви, например TABLENAME
и tablename
не са един и същ обект и изписването му с InCorrEcT CaSe също може да доведе до тази грешка.