把sql server所有表的所有者改爲dbo

--執行這個語句,就可以把當前庫的所有表的所有者改爲dbo
exec sp_msforeachtable 'sp_changeobjectowner ''?'', ''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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章