SQL2000 修改表所有者的方法

SQL2000 修改表所有者的方法

单个修改所有者sql语句如下:

查询分析器输入:EXEC sp_changeobjectowner 'user.table', 'dbo'

user.table的意思为:所有者.表名,比如oblog.oblog_user,以前的语句表示将table这张表的所有者由

user改成dbo

批量修改所有者语句如下:

查询分析器输入:exec sp_msforeachtable 'sp_changeobjectowner ''?'', ''dbo'''

即可把当面表的所有所有者换成dbo

 

第二种方法:

更改数据库所有者并不能影响已经创建的表的所有者,你需要使用sp_changeobjectower来改变对象的所有者,并且对象的所有者sa对应的是dbo

以下语句是利用游标,读取mydb帐户拥有的所有对象,并将其所有者更改为sa
另外如果之前本地不存在mydb帐户,可能会导致孤立帐户的出现,你先试试能不能成功吧,如果不行,再提供给你解决方法。

declare cur cursor for
select name
from sysobjects
where uid=user_id('mydb')

declare @name sysname
declare @sqlstr varchar(5000)

open cur
fetch next from cur
into @name

while @@fetch_status=0
begin
set @sqlstr='exec sp_changeobjectowner ''mydb.'+@name+''',''dbo'''
exec (@sqlstr)
fetch next from cur
into @name
end
close cur
deallocate cur

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值