导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

怎样改变数据库的DBOwner

bobwen 2003-12-23 07:19:48
我想改变一个数据库的DBOwner,比如原来是DBO,现在改成其他的Login User。
我用sp_changedbowner,好像不起作用?
...全文
29 点赞 收藏 3
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bobwen 2003-12-24
解決,謝謝!
回复
sdhdy 2003-12-23
CREATE PROCEDURE dbo.ChangeObjectOwner
@OldOwner as NVARCHAR(128),--参数原所有者
@NewOwner as NVARCHAR(128)--参数新所有者
AS

DECLARE @Name as NVARCHAR(128)
DECLARE @Owner as NVARCHAR(128)
DECLARE @OwnerName as NVARCHAR(128)

DECLARE curObject CURSOR FOR
select 'Name' = name,
'Owner' = user_name(uid)
from sysobjects
where user_name(uid)=@OldOwner
order by name

OPEN curObject
FETCH NEXT FROM curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN
if @Owner=@OldOwner
begin
set @OwnerName = @OldOwner + '.' + rtrim(@Name)
exec sp_changeobjectowner @OwnerName, @NewOwner
end

FETCH NEXT FROM curObject INTO @Name, @Owner
END

close curObject
deallocate curObject
GO
以SA登陆查询分析器 ,选中你要的数据库
执行exec ChangeObjectOwner '原所有者','dbo'
回复
bobwen 2003-12-23
我希望这个库里面所有的表,视图,存储过程的DBOWNER都改成新的login user
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告