MSSQL 2000更改表和存储过程的所有者

本文提供了一种方法来批量更改MSSQL2000中表和存储过程的所有者为'dbo'。包括更改存储过程所有者的T-SQL脚本和更改表所有者的存储过程调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

更改存储过程的所有者:

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

 

更改表的所有者:

exec sp_MSforeachtable 'exec sp_changeobjectowner "?","dbo"'

 

=============

运行时,会提示出错警告,不管它,再运行一次即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值