This SQL Server script comes to you courtesy of Geoff Appleby!
Change All Object Owners to a given account (usually dbo) if not already owned by the SA (change the @NewOwner variable to another username string if you don't want DBO to own everything):
1declare @ObjectName varchar(256)
2-- we are only interested in USER Objects not already owned by 'sa' 3-- we don't want keys and constrainst 4set @ObjectName = (select top 1 [name] from sysobjects
5where uid <> SUSER_SID('sa')
6and [type] in ('FN','IF','P','TF','U','V') )
7declare @ObjectOwner varchar(256)
8declare @ObjectFullName varchar(512)
9declare @NewOwner varchar(256)
10set @NewOwner = 'dbo'
11 12-- default to 'dbo' if null 13set @NewOwner = isnull(@NewOwner, 'dbo')
14 15while @ObjectName is not null 16begin 17select @ObjectOwner = USER_NAME(uid) from sysobjects where [name] = @ObjectName
18set @ObjectFullName = @ObjectOwner + '.' + @Objectname
19PRINT 'Changing ownership of ''' + @Objectname + ''' from ''' +
20 @ObjectOwner + ''' to ''' + @NewOwner + ''''
21execute sp_changeobjectowner @ObjectFullName, @NewOwner
22set @ObjectName = (select top 1 [name] from sysobjects
23where uid <> SUSER_SID('sa') and [type] in ('FN','IF','P','TF','U','V'))
24end