批量修改: 
EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' ' 
单个修改: 
exec sp_changeobjectowner '要改的表名','dbo'

解决方案 »

  1.   

    批量修改: 
    EXEC sp_MSforeachtable 'exec sp_changeobjectowner ''?'',''dbo'' ' 
    单个修改: 
    exec sp_changeobjectowner '要改的表名','dbo'
      

  2.   

    declare @count int
    declare @name varchar(20)--'procname'
    declare @username varchar(20)--'dbo'
    select identity(int,1,1) as id,name into #t from sysobjects where xtype='p'
    select @count=count(*) from #t
    while(@count>0)
    begin
    select @name=name from #t where id=@count
    EXEC sp_changeobjectowner @name,@username
    set @count=@count-1
    end
      

  3.   

    --遍历修改存储过程所有者
    --声明一个游标
    DECLARE @ID INT
    declare @name nvarchar(50)
    DECLARE mmp CURSOR FOR
    select id from sysobjects where xtype='p'
    --打开游标
    open mmp
    FETCH NEXT FROM mmp
    INTO @id 
    WHILE @@FETCH_STATUS = 0
    begin
    select @name=name from sysobjects where id=@id
    EXEC sp_changeobjectowner @name,'dbo'
    FETCH NEXT FROM mmp
    INTO @id 
    end
    CLOSE mmp
    DEALLOCATE mmp
      

  4.   

    改存储过程得用游标,sp_msforeachtable是针对用户表的.talantlee(你還遠遠不夠,還得加油啊!!!) 的就可以了.