• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

更改数据库所有者的对象_sqlserver

sqlserver 搞代码 3年前 (2018-06-16) 97次浏览 已收录 0个评论

–功能说明:成批更改数据库所有者的对象
–作者:不详
–用法:exec ChangeObjectOwner ‘nmkspro’,’dbo’
–即可将所有nmkspro所有者的对象改为dbo所有
–运行成功后将提示:”注意: 更改对象名的任一部分都可能破坏脚本和存储过程。”

http://www.gaodaima.com/35871.html更改数据库所有者的对象_sqlserver

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)[email protected]
 order by name

OPEN  curObject
FETCH NEXT FROM curObject INTO @Name, @Owner
WHILE(@@FETCH_STATUS=0)
BEGIN     
 if @[email protected]
 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

欢迎大家阅读《更改数据库所有者的对象_sqlserver,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址