--修改所有用户表/存储过程/视图/触发器/自定义函数的所有者为dbo,则用游标(不要理会错误提示)
declare tb cursor local for
select 'sp_changeobjectowner ''['+replace(user_name(uid),']',']]')+'].['
+replace(name,']',']]')+']'',''dbo'''
from sysobjects
where xtype in('U','V','P','TR','FN','IF','TF') and status>=0
open tb
declare @s nvarchar(4000)
fetch tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch tb into @s
end
close tb
deallocate tb
go
批量更改所有表的用户为dbo
exec sp_msforeachtable 'sp_changeobjectowner ''?'',''dbo'''
更改单个表:
所有者是dbo的表[sitemap],更改所有者为wind88.net
exec sp_changeobjectowner '[dbo].[sitemap]',[wind88.net]
把所有者是wind88.net的表[sitemap],更改所有者为dbo
exec sp_changeobjectowner '[wind88.net].[sitemap]',[dbo]
更改SQL数据表所有者
最新推荐文章于 2023-07-20 20:11:16 发布