SqlServer2000,将数据库发布,取消发布以后发现每个表都添加了RowGuid和一些系统表。请问如何删除RowGuid和这些系统表。

解决方案 »

  1.   


    --关键问题是以后你不发布了?
    --如果要删除字段,就用。
    alter table tablename drop column columnname
    --如果要删除表,就用。
    drop table tablaname
      

  2.   

    --删除系统表
    DECLARE c2 cursor for 
        select 'drop table ['+name +']; '
        from sysobjects 
        where xtype = 's' 
    open c2
    declare @c2 varchar(8000)
    fetch next from c2 into @c2
    while(@@fetch_status=0)
        begin
            exec(@c2)
            fetch next from c2 into @c2
        end
    close c2
    deallocate c2 
      

  3.   

    alter table TB drop column RowGuid
      

  4.   

    所有的?
    MASTER 的也删么额?不能限定数据库么》
      

  5.   

    提供3种方法
    1:使用存储过程sp_removedbreplication 从数据库中删除所有复制对象。此存储过程在发布服务器上对发布数据库执行,或者在订阅服务器上对订阅数据库执行。在发布服务器上对发布数据库执行时,将尝试删除与分发服务器和订阅服务器上已发布的数据库相关的对象。
    exec sp_removedbreplication '订阅名 '
    2:工具-复制--禁用
    3:备份你的订阅数据库,再还原覆盖你原来的数据库.