更改数据库中表的所属用户的两个方法

  • 作者:未知 来源:未知 添加时间:2006年7月3日 字体:

  • --更改某个表
    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

  • 上一篇:删除数据库中重复数据的几个方法
  • 下一篇:火影忍者现实中忍术!绝对可行
  • 最后更新时间:2024年12月22日
  • 返回页面顶端
ppdesk