更改数据库中表的所属用户的两个办法[MSSQL防范]
本文“更改数据库中表的所属用户的两个办法[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
--更改某个表
exec sp_changeobjectowner 'tablename','dbo'
--存储更改全部表
CREATE PROCEDURE dbo.User_ChangeObjectOwnerBatch
?@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
--?select @name,@NewOwner,@OldOwner
?FETCH NEXT FROM curObject INTO @Name, @Owner
END
close curObject
deallocate curObject
GO
以上是“更改数据库中表的所属用户的两个办法[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |