Убедитесь, что новый владелец является пользователем в этой базе данных.
Возможно, вам потребуется ввести имя пользователя перед именем домена: «домен \ имя пользователя».
use Northwind
exec sp_MSforeachtable @command1="sp_changeobjectowner '?', 'domain\username'"
Или, возможно, попробуйте использовать курсор, если вам нужно изменить владельцев только на основании некоторых критериев:
DECLARE tables CURSOR
FOR
SELECT [name]
FROM sysobjects
WHERE xtype = 'u'
OPEN tables
DECLARE @TableName NVARCHAR(512)
FETCH NEXT FROM tables INTO @TableName
WHILE @@fetch_status = 0
BEGIN
EXEC sp_changeobjectowner @TableName, 'dbo'
FETCH NEXT FROM tables INTO @TableName
END
CLOSE tables
DEALLOCATE tables