小技巧:更改数据库所有者的对象
--功能说明:成批更改数据库所有者的对象
--作者:不详
--用法: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
小技巧:更改数据库所有者的对象 相关文章
- DOTNET下Web项目打开失败
- ASP.NET图象处理详解(2)
- 利用ASP.NET实现分页管理器
- C#学习之——认识C#的内部类
- ASP.NET中使用MD5和SHA1算法加密
- ASP.NET无法调试问题剖析
- 为DataGrid自定义分页添加自定义导航和分页信息
- ASP.NET实现验证码功能的Web控件
- 浅谈Asp.net多层架构中的变量引用与传递
- VB.NET与WEB服务器通讯过程详解
- 用VisualC#打造个性化的IE浏览器
- 利用VC#创作简单的多线程组件
- C#中如何处理父窗口及其子窗口标题
- 使用Command和DataReader对象加速访问
- c#修饰符
- asp.net中显示DataGrid控件列序号的几种方法
- C#编程让Outlook乖乖交出帐户密码(1)
- C#编程让Outlook乖乖交出帐户密码(2)
- NotNET中加密和解密的实现方法一
- ASP.Net安装简明手册
中
小技巧:更改数据库所有者的对象 相关文章
中 小技巧:更改数据库所有者的对象 相关文章
评论已关闭