日期:2014-05-18  浏览次数:20474 次

如何改变表的所有者?
现在库中一些非dbo的表与存储过程,如[henry].[sp_getMessage],如何将这些数据元素更改为[dbo].[getMessage]?

------解决方案--------------------
grant
------解决方案--------------------
方法一:右键点击该表-》设计表,在上面的一排小图标中,点最后一个“条件约束”,点“表”页,在里面更改所有者。(若没有条件约束的小图标,可以点右键,能看到一个“check约束”的选项)

方法二:利用脚本直接执行,用系统帐号或者超户登陆到该数据库,然后执行下面语句:

sp_configure 'allow updates ', '1 '
go
reconfigure with override
go
update sysobjects set uid=1 where uid <> 1
go
sp_configure 'allow updates ', '0 '
go
reconfigure with override

第二种方法只能使用一次,第二次使用会出错。


改存储过程的方法,在查询器中执行:
EXEC sp_changeobjectowner 'usera.hishop_creatorder ', 'dbo '
就把 usera的存储过程改为dbo所有了