/***********修改表的所有者****************/
exec sp_changeobjectowner 'tablename','ownername'

解决方案 »

  1.   

    sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'sp_changeobjectowner 'dbo.t',tester
    or
    sp_changeobjectowner 'tester.t','dbo'
      

  2.   

    sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'exec sp_changeobjectowner 'dbo.t','tester'
    or
    exec sp_changeobjectowner 'tester.t','dbo'
      

  3.   

    楼上的一次改一个
    我的一次改全部(包括存储过程等等对象)
    我经常要用的^_^CREATE PROCEDURE dbo.ChangeObjectOwner
    @OldOwner as NVARCHAR(128),--参数原所有者
    @NewOwner as NVARCHAR(128)--参数新所有者
    ASDECLARE @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 nameOPEN  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
    ENDclose curObject
    deallocate curObject
    GO
      

  4.   

    非常感谢以上各位,终于解决问题了,特别是 lynx1111(任我行CrazyEnglishing.) 的批量修改器,要好好的收藏了。