DECLARE@T_NameVARCHAR(100),@T_OwnerVARCHAR(50),@SQLVARCHAR(500),@T_OldVARCHAR(50),@T_NewVARCHAR(50) SET@T_Old='OldOwner' SET@T_New='dbo' DECLARE t_owner CURSORFOR SELECT[NAME],User_NAME(uid) AS UserName FROM SYSOBJECTS WHERE XTYPE<>'S' OPEN t_owner FETCHNEXTFROM t_owner INTO@T_Name,@T_Owner WHILE@@FETCH_STATUS=0 BEGIN IFUPPER(@T_Owner)=UPPER(@T_Old) BEGIN SET@SQL=' sp_changeobjectowner '''+@T_Old+'.'+@T_Name+''','''+@T_New+'''' --PRINT @SQL EXEC(@SQL) END FETCHNEXTFROM t_owner INTO@T_Name,@T_Owner END CLOSE t_owner DEALLOCATE t_owner