SQL中修改表的所有者

1.修改单个表的所有者:
EXEC sp_changeobjectowner 'user.table', 'dbo'
2.修改所有表的所有者:
exec sp_msforeachtable 'sp_changeobjectowner ''?'', ''dbo'''
3.程序有条件地修改表的所有者:
declare @trun_name varchar(50)
declare name_cursor cursor for
select 'EXEC sp_changeobjectowner ''[dbo].[' + name from sysobjects where xtype='U' and  name not like 'SYS%' 
open name_cursor
fetch next from name_cursor into @trun_name
while @@FETCH_STATUS = 0
begin  
 print @trun_name+']'',''dbo'''
 exec (@trun_name+']'',''dbo''')
 -- exec (@trun_name+']'',''dbo''')
 fetch next from name_cursor into @trun_name
end
close name_cursor
deallocate name_cursor

你可能感兴趣的:(sql,数据库,server,职场,休闲)