你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
小技巧:更改数据库所有者的对象
 

 --功能说明:成批更改数据库所有者的对象
  --作者:不详
  --用法:exec ChangeObjectOwner 'nmkspro','dbo'
  --即可将所有nmkspro所有者的对象改为dbo所有
  --运行成功后将提示:"注意: 更改对象名的任一部分都可能破坏脚本和存储过程。"
  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

(编辑:anna sui)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089