Sp_changedbowner will return message 'the proposed new database owner is already a user in the database' if the sysdatabases/sysusers mapping is out of sync and the sysusers dbo SID is already mapped to the login. All you need to do is execute sp_changedbowner twice, once to change ownership to a different login and again to change it to the desired user.
|